]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: request new map from PG when needed 17795/head
authorJosh Durgin <jdurgin@redhat.com>
Tue, 19 Sep 2017 02:31:10 +0000 (22:31 -0400)
committerJosh Durgin <jdurgin@redhat.com>
Tue, 19 Sep 2017 18:27:29 +0000 (14:27 -0400)
commitdd33360e5a4ed06228af552edadee88e66c5aba9
tree43077a02bc1f0e50a11552ba1517bd77261d4e75
parent4639b96cae58a7802708e0c326c5f8c7395bea1e
osd: request new map from PG when needed

The fast dispatch refactor in 3cc48278bf0ee5c9535d04b60a661f988c50063b
eliminated the osdmap subscription in the ms_fast_dispatch path, which
meant ops could reach a PG without having the latest map. In a cluster
with few osdmap updates, where the monitor fails to send a new map to
an osd (it tries one random osd), this can result in indefinitely
blocked requests.

Fix this by adding an OSDService mechanism for scheduling a new osdmap
subscription request.

Fixes: http://tracker.ceph.com/issues/21428
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PrimaryLogPG.cc