Support reloading state when etcd says "revisions were compacted"

Before this change, OSDs almost always died when one of the etcds was restarted,
even though the rest of them was still in quorum and the lease was still active
This commit is contained in:
Vitaliy Filippov
2023-07-07 01:33:48 +03:00
parent 2f999d8607
commit 161a23c966
3 changed files with 31 additions and 18 deletions
+2 -1
View File
@@ -198,13 +198,14 @@ class osd_t
void on_change_pg_history_hook(pool_id_t pool_id, pg_num_t pg_num);
void on_change_etcd_state_hook(std::map<std::string, etcd_kv_t> & changes);
void on_load_config_hook(json11::Json::object & changes);
void on_reload_config_hook(json11::Json::object & changes);
json11::Json on_load_pgs_checks_hook();
void on_load_pgs_hook(bool success);
void bind_socket();
void acquire_lease();
json11::Json get_osd_state();
void create_osd_state();
void renew_lease();
void renew_lease(bool reload);
void print_stats();
void print_slow();
void reset_stats();