]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: incremental data sync uses truncated flag to detect end of listing
authorCasey Bodley <cbodley@redhat.com>
Wed, 15 Aug 2018 20:04:37 +0000 (16:04 -0400)
committerJonathan Brielmaier <jbrielmaier@suse.de>
Thu, 27 Sep 2018 07:19:18 +0000 (09:19 +0200)
we call wait() after incremental sync if we've reached the end of the
datalog listing. the existing logic compares our local marker with the
remote's high marker, with some extra code to handle the case where the
remote log was trimmed

all of this can be simplified by using the 'truncated' flag returned
with the RGWReadRemoteDataLogShardCR used to list the remote datalog

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit fb2b618658d8ff9c311838f59e396ab24c21e9e8)
Signed-off-by: Jonathan Brielmaier <jbrielmaier@suse.de>
Conflicts:
src/rgw/rgw_data_sync.cc: write log with ldout

src/rgw/rgw_data_sync.cc

index 5aac1833bbe76a2912824037ad39ad2e84726e9a..bbb0973e92b1c4e4e37e3f57414b2d4d2ab19aa8 100644 (file)
@@ -1429,8 +1429,8 @@ public:
             }
           }
        }
-       ldout(sync_env->cct, 20) << __func__ << ":" << __LINE__ << ": shard_id=" << shard_id << " datalog_marker=" << datalog_marker << " sync_marker.marker=" << sync_marker.marker << dendl;
-       if (datalog_marker == sync_marker.marker || remote_trimmed == RemoteTrimmed) {
+       ldout(sync_env->cct, 20) << __func__ << ":" << __LINE__ << ": shard_id=" << shard_id << " datalog_marker=" << datalog_marker << " sync_marker.marker=" << sync_marker.marker << " truncated=" << truncated << dendl;
+       if (!truncated) {
 #define INCREMENTAL_INTERVAL 20
          yield wait(utime_t(INCREMENTAL_INTERVAL, 0));
        }