]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: bucket sync transitions back to StateInit on OP_SYNCSTOP 24316/head
authorCasey Bodley <cbodley@redhat.com>
Tue, 14 Aug 2018 18:06:40 +0000 (14:06 -0400)
committerNathan Cutler <ncutler@suse.com>
Fri, 28 Sep 2018 08:09:02 +0000 (10:09 +0200)
commit2e0703b560ac3bf19f8a8d60402e0af414f45e04
tree3e0e986772bc5bc7b22b99d4ed55dfcdb5d6b4bb
parent5e96f0cf89a8788f312455ebd6cbb88fb9e5e873
rgw: bucket sync transitions back to StateInit on OP_SYNCSTOP

the handling for OP_SYNCSTOP->OP_RESYNC is incorrect because it's not
safe to continue incremental sync after SYNCSTOP. any changes between
SYNCSTOP and RESYNC will not be written to the bilog, so incremental
sync cannot sync them

SYNCSTOP now transitions back to StateInit, where
RGWInitBucketShardSyncStatusCoroutine will query the remote bilog info
to see if it's still disabled. if so, it deletes the sync status object
and finishes. otherwise, StateInit will transition back to StateFull to
resync the bucket

Fixes: http://tracker.ceph.com/issues/26895
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d7725a091890cd8e52938c070cc15da3fe57a9e7)

Conflicts:
src/rgw/rgw_data_sync.cc
- ldout instead of tn
src/rgw/rgw_data_sync.cc