]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PG: normalize query processing in Stray and ReplicaActive 22456/head
authorSage Weil <sage@redhat.com>
Thu, 7 Jun 2018 13:33:46 +0000 (08:33 -0500)
committerSage Weil <sage@redhat.com>
Thu, 7 Jun 2018 19:20:56 +0000 (14:20 -0500)
commit4e14a380becd61d823a1c86e2dbb41dc8e3a5834
tree08172d9b7d1b63c7f83caa9b49b70ad8e3bebf54
parent856fd0243346ca99fa4a3ba5014a7bcdf2c29450
osd/PG: normalize query processing in Stray and ReplicaActive

A stray PG may end up in ReplicaActive if it is participating in backfill.
However, whether it is or isn't, we should treat queries the same.
Otherwise we end up with weird behaviors like:

 - osd's stray pg moves to ReplicaActive (gets info+log from primary)
 - osd goes down and back up
 - primary restarts peering, request FULLLOG to find missing objects
 - osd ignores FULLLOG because it is ReplicaActive and not Stray

Fixes: http://tracker.ceph.com/issues/24373
Reported-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.cc
src/osd/PG.h