]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/PeeringState.h: ignore MLogRec in Peering/GetInfo 33594/head
authorNeha Ojha <nojha@redhat.com>
Fri, 28 Feb 2020 02:17:21 +0000 (02:17 +0000)
committerNeha Ojha <nojha@redhat.com>
Fri, 28 Feb 2020 02:17:21 +0000 (02:17 +0000)
commit0b9e7472d4cfcbf9ff279e13655ad5a9adea0412
tree98ba041e96938ed388b99e75ff59a3c7ac8b18f3
parentdd133d22c104c97588932411aea2b34390ed6346
osd/PeeringState.h: ignore MLogRec in Peering/GetInfo

It is possible to receive a response for an old GetLog request, after
we've transitioned out of Started/Primary/Peering/GetLog due to a map change.
Such cases are already handled in Nautilus and beyond, due to
168e20ab8b8da3a5aed41b73f9627d10971be67b, old_peering_evt() will detect
such old responses by comparing last_peering_set with reply_epoch and
query_epoch. In Mimic, query_epoch is not reliable and we may incorrectly
start processing the MLogRec and crash the osd.

Fixes: https://tracker.ceph.com/issues/44022
Signed-off-by: Neha Ojha <nojha@redhat.com>
src/osd/PG.h