In some cases when there are a lot of clients and these clients
have a lots of known requests need to replay too, the metrics
requests will be dropped by the MDS because the MDS is still in
the clientreplay state, and also the useless metric requests will
slow down MDS.
Fixes: https://tracker.ceph.com/issues/61523
Signed-off-by: Xiubo Li <xiubli@redhat.com>
ldout(cct, 20) << __func__ << dendl;
ceph_assert(ceph_mutex_is_locked_by_me(client_lock));
+ /* Do not send the metrics until the MDS rank is ready */
+ if (!mdsmap->is_active((mds_rank_t)0)) {
+ ldout(cct, 5) << __func__ << " MDS rank 0 is not ready yet -- not sending metric"
+ << dendl;
+ return;
+ }
+
if (!have_open_session((mds_rank_t)0)) {
ldout(cct, 5) << __func__ << ": no session with rank=0 -- not sending metric"
<< dendl;