]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: use regular dispatch for processing metrics
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 24 Apr 2024 19:35:14 +0000 (15:35 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 8 May 2024 13:07:43 +0000 (09:07 -0400)
commited1fe9909338bc1bc0a29df22666e9ba11fa52fe
tree1a9e76b7edcc6eb70a0f710320a84b5ab95eac04
parent32b7fe44832828c84dd84835ea17222d772bbfe4
mds: use regular dispatch for processing metrics

There have been cases where the MDS does an undesirable failover because it
misses heartbeat resets after a long recovery in up:replay.  It was observed
that the MDS was processing a flood of metrics messages from all reconnecting
clients. This likely caused undersiable MetricAggregator::lock contention in
the messenger threads while fast dispatching client metrics.

Instead, use the normal dispatch where acquiring locks is okay to do.

See-also: linux.git/f7c2f4f6ce16fb58f7d024f3e1b40023c4b43ff9
Fixes: https://tracker.ceph.com/issues/65658
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/MetricAggregator.cc
src/mds/MetricAggregator.h