mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-28 12:17:02 +00:00
storage_service: Enable set_mode
This commit is contained in:
@@ -360,12 +360,12 @@ future<> storage_service::bootstrap(std::unordered_set<token> tokens) {
|
||||
_token_metadata.update_normal_tokens(tokens, get_broadcast_address());
|
||||
// SystemKeyspace.removeEndpoint(DatabaseDescriptor.getReplaceAddress());
|
||||
}
|
||||
return sleep(sleep_time).then([tokens = std::move(tokens)] {
|
||||
return sleep(sleep_time).then([this, tokens = std::move(tokens)] {
|
||||
auto& gossiper = gms::get_local_gossiper();
|
||||
if (!gossiper.seen_any_seed()) {
|
||||
throw std::runtime_error("Unable to contact any seeds!");
|
||||
}
|
||||
// setMode(Mode.JOINING, "Starting to bootstrap...", true);
|
||||
this->set_mode(Mode::JOINING, "Starting to bootstrap...", true);
|
||||
// new BootStrapper(FBUtilities.getBroadcastAddress(), tokens, _token_metadata).bootstrap(); // handles token update
|
||||
logger.info("Bootstrap completed! for the tokens {}", tokens);
|
||||
return make_ready_future<>();
|
||||
@@ -1060,5 +1060,33 @@ std::unordered_set<token> storage_service::prepare_replacement_info() {
|
||||
#endif
|
||||
}
|
||||
|
||||
static const std::map<storage_service::mode, sstring> mode_names = {
|
||||
{storage_service::mode::STARTING, "STARTING"},
|
||||
{storage_service::mode::NORMAL, "NORMAL"},
|
||||
{storage_service::mode::JOINING, "JOINING"},
|
||||
{storage_service::mode::LEAVING, "LEAVING"},
|
||||
{storage_service::mode::DECOMMISSIONED, "DECOMMISSIONED"},
|
||||
{storage_service::mode::MOVING, "MOVING"},
|
||||
{storage_service::mode::DRAINING, "DRAINING"},
|
||||
{storage_service::mode::DRAINED, "DRAINED"},
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const storage_service::mode& m) {
|
||||
os << mode_names.at(m);
|
||||
return os;
|
||||
}
|
||||
|
||||
void storage_service::set_mode(mode m, bool log) {
|
||||
set_mode(m, "", log);
|
||||
}
|
||||
|
||||
void storage_service::set_mode(mode m, sstring msg, bool log) {
|
||||
_operation_mode = m;
|
||||
if (log) {
|
||||
logger.info("{}: {}", m, msg);
|
||||
} else {
|
||||
logger.debug("{}: {}", m, msg);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace service
|
||||
|
||||
@@ -139,13 +139,15 @@ private:
|
||||
|
||||
bool _joined = false;
|
||||
|
||||
public:
|
||||
enum class mode { STARTING, NORMAL, JOINING, LEAVING, DECOMMISSIONED, MOVING, DRAINING, DRAINED };
|
||||
private:
|
||||
mode _operation_mode = mode::STARTING;
|
||||
friend std::ostream& operator<<(std::ostream& os, const mode& mode);
|
||||
#if 0
|
||||
/* the probability for tracing any particular request, 0 disables tracing and 1 enables for all */
|
||||
private double traceProbability = 0.0;
|
||||
|
||||
private static enum Mode { STARTING, NORMAL, JOINING, LEAVING, DECOMMISSIONED, MOVING, DRAINING, DRAINED }
|
||||
private Mode operationMode = Mode.STARTING;
|
||||
|
||||
/* Used for tracking drain progress */
|
||||
private volatile int totalCFs, remainingCFs;
|
||||
|
||||
@@ -427,23 +429,12 @@ public:
|
||||
{
|
||||
DatabaseDescriptor.setIncrementalBackupsEnabled(value);
|
||||
}
|
||||
|
||||
private void setMode(Mode m, boolean log)
|
||||
{
|
||||
setMode(m, null, log);
|
||||
}
|
||||
|
||||
private void setMode(Mode m, String msg, boolean log)
|
||||
{
|
||||
operationMode = m;
|
||||
String logMsg = msg == null ? m.toString() : String.format("%s: %s", m, msg);
|
||||
if (log)
|
||||
logger.info(logMsg);
|
||||
else
|
||||
logger.debug(logMsg);
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
void set_mode(mode m, bool log);
|
||||
void set_mode(mode m, sstring msg, bool log);
|
||||
public:
|
||||
future<> bootstrap(std::unordered_set<token> tokens);
|
||||
|
||||
bool is_bootstrap_mode() {
|
||||
|
||||
Reference in New Issue
Block a user