Files
scylladb/db/hints/internal/common.hh
Dawid Medrek cfd03fe273 db/hints: Migrate to locator::host_id
We change the type of node identifiers
used within the module and fix compilation.
Directories storing hints to specific nodes
are now represented by host IDs instead of
IPs.
2024-04-26 22:44:04 +02:00

49 lines
1.3 KiB
C++

/*
* Modified by ScyllaDB
* Copyright (C) 2023-present ScyllaDB
*/
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#pragma once
// Seastar features.
#include <seastar/util/bool_class.hh>
// Scylla includes.
#include "locator/host_id.hh"
// STD.
#include <cstdint>
namespace db::hints {
namespace internal {
/// Type identifying the host a specific subset of hints should be sent to.
using endpoint_id = locator::host_id;
/// Tag specifying if hint sending should enter the so-called "drain mode".
/// If it should, that means that if a failure while sending a hint occurs,
/// the hint will be ignored rather than attempted to be sent again.
///
/// The tag is useful in communication between internal data structures
/// of the hinted handoff module.
using drain = seastar::bool_class<class drain_tag>;
/// Statistics related to hint sending. They should collect information
/// about a whole shard.
struct hint_stats {
uint64_t size_of_hints_in_progress = 0;
uint64_t written = 0;
uint64_t errors = 0;
uint64_t dropped = 0;
uint64_t sent = 0;
uint64_t discarded = 0;
uint64_t send_errors = 0;
uint64_t corrupted_files = 0;
};
} // namespace internal
} // namespace db::hints