It's possible mgr beacons can get stuck in the dispatch queue long enough for an
Mgr to be removed from the MgrMap, increase the priority to ensure
processing ahead of monitor commands and other low-priority messages.
Fixes: https://tracker.ceph.com/issues/63615
Signed-off-by: wanwencong <wanwc@chinatelecom.cn>
MMgrBeacon()
: PaxosServiceMessage{MSG_MGR_BEACON, 0, HEAD_VERSION, COMPAT_VERSION},
gid(0), available(false)
- {}
+ {
+ set_priority(CEPH_MSG_PRIO_HIGH);
+ }
MMgrBeacon(const uuid_d& fsid_, uint64_t gid_, const std::string &name_,
entity_addrvec_t server_addrs_, bool available_,
clients(std::move(clients_)),
mgr_features(feat)
{
+ set_priority(CEPH_MSG_PRIO_HIGH);
}
uint64_t get_gid() const { return gid; }