]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mon/MDSMonitor: send reply to beacons with `state=DNE`
authorMax Kellermann <max.kellermann@ionos.com>
Mon, 14 Oct 2024 17:52:23 +0000 (19:52 +0200)
committerMax Kellermann <max.kellermann@ionos.com>
Tue, 29 Oct 2024 20:41:48 +0000 (21:41 +0100)
commitfd9c40465bd6d99c95d724c730e1e170b0a7ebdd
treeef651720c63e6a7e14d1ea7ee3465cffa25a1760
parenta3cf84271f2af9650e7056370cb0c578cf7130ca
mon/MDSMonitor: send reply to beacons with `state=DNE`

During shutdown, the MDS sends a `MSG_MDS_BEACON` with
`MDSMap::STATE_DNE` (in `MDSDaemon::suicide()`) and then waits for a
`MSG_MDS_BEACON` reply from the MON.

The MON, however, suppresses replies to `STATE_DNE`; in
`MDSMonitor::preprocess_beacon()`, it returns early on `STATE_DNE` and
`MDSMonitor::prepare_beacon()` silently evicts the dying MDS without
any reply.

This delays the MDS shutdown until the MDS times out.

Since `MDSDaemon::suicide()` has code to wait for a beacon reply, I
figure that the MON reply was suppressed accidently, therefore I
suggest adding it.

Fixes: https://tracker.ceph.com/issues/68761
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
src/mon/MDSMonitor.cc