Beacon::Beacon(CephContext *cct_, MonClient *monc_, std::string_view name_) :
Dispatcher(cct_), lock("Beacon"), monc(monc_), timer(g_ceph_context, lock),
- name(name_), standby_for_rank(MDS_RANK_NONE),
- standby_for_fscid(FS_CLUSTER_ID_NONE), want_state(MDSMap::STATE_BOOT),
- awaiting_seq(-1)
-{
- last_seq = 0;
- was_laggy = false;
-
- epoch = 0;
-}
-
-
-Beacon::~Beacon()
+ name(name_)
{
}
-
void Beacon::init(const MDSMap &mdsmap)
{
Mutex::Locker l(lock);
{
public:
Beacon(CephContext *cct_, MonClient *monc_, std::string_view name);
- ~Beacon() override;
+ ~Beacon() override {};
void init(const MDSMap &mdsmap);
void shutdown();
// Items we duplicate from the MDS to have access under our own lock
std::string name;
- version_t epoch;
+ version_t epoch = 0;
CompatSet compat;
- mds_rank_t standby_for_rank;
+ mds_rank_t standby_for_rank = MDS_RANK_NONE;
std::string standby_for_name;
- fs_cluster_id_t standby_for_fscid;
+ fs_cluster_id_t standby_for_fscid = FS_CLUSTER_ID_NONE;
bool standby_replay = false;
- MDSMap::DaemonState want_state;
+ MDSMap::DaemonState want_state = MDSMap::STATE_BOOT;
// Internal beacon state
- version_t last_seq; // last seq sent to monitor
+ version_t last_seq = 0; // last seq sent to monitor
std::map<version_t,utime_t> seq_stamp; // seq # -> time sent
utime_t last_acked_stamp; // last time we sent a beacon that got acked
utime_t last_mon_reconnect;
- bool was_laggy;
+ bool was_laggy = false;
utime_t laggy_until;
// Health status to be copied into each beacon message
// Ticker
Context *sender = nullptr;
- version_t awaiting_seq;
+ version_t awaiting_seq = -1;
Cond waiting_cond;
};