New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jewel: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period #17167

Merged
merged 5 commits into from Sep 12, 2017

Conversation

Projects
None yet
3 participants
@smithfarm
Contributor

smithfarm commented Aug 22, 2017

cbodley added some commits May 2, 2017

rgw: remove unused RGWPeriod::use_next_epoch
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 5770a01)
rgw: period latest_epoch ops take optional objv tracker
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b855c39)
rgw: add atomic RGWPeriod::update_latest_epoch
update_latest_epoch() uses RGWObjVersionTracker to implement atomic
updates to the period's latest_epoch, returning -EEXIST if we already
have an epoch >= the one given

Fixes: http://tracker.ceph.com/issues/19816

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 55000d7)

@smithfarm smithfarm self-assigned this Aug 22, 2017

@smithfarm smithfarm added this to the jewel milestone Aug 22, 2017

@smithfarm smithfarm added bug fix core rgw and removed core labels Aug 22, 2017

@smithfarm

This comment has been minimized.

Show comment
Hide comment
@smithfarm

smithfarm Aug 23, 2017

Contributor
rgw/rgw_rados.cc: In member function ‘int RGWPeriod::store_info(bool)’:
rgw/rgw_rados.cc:1147:19: error: ‘pool_name’ was not declared in this scope
   rgw_bucket pool(pool_name.c_str());
                   ^
Makefile:24756: recipe for target 'rgw/librgw_la-rgw_rados.lo' failed
Contributor

smithfarm commented Aug 23, 2017

rgw/rgw_rados.cc: In member function ‘int RGWPeriod::store_info(bool)’:
rgw/rgw_rados.cc:1147:19: error: ‘pool_name’ was not declared in this scope
   rgw_bucket pool(pool_name.c_str());
                   ^
Makefile:24756: recipe for target 'rgw/librgw_la-rgw_rados.lo' failed

cbodley added some commits May 2, 2017

rgw: remove set_latest_epoch from RGWPeriod::store_info
split the latest_epoch update out of RGWPeriod::store_info(), so callers
that need to call the atomic update_latest_epoch() can do so and
interpret its result separately

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit c1731dd)

Conflicts:
	src/rgw/rgw_rados.cc (trivial resolution)
rgw: call update_latest_epoch() on all period updates
when updating the period, callers use the atomic result of
update_latest_epoch() to determine whether they need to call
RGWPeriod::reflect() and RGWRealm::notify_new_period()

this adds a missing call to RGWPeriod::reflect() to RGWPeriodPuller,
which was previously not safe to do without atomic updates to
latest_epoch

Fixes: http://tracker.ceph.com/issues/19817

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d825b9d)
@smithfarm

This comment has been minimized.

Show comment
Hide comment
@smithfarm

smithfarm Aug 23, 2017

Contributor

Fixed clerical error.

Contributor

smithfarm commented Aug 23, 2017

Fixed clerical error.

@smithfarm smithfarm merged commit 0277feb into ceph:jewel Sep 12, 2017

4 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details

@smithfarm smithfarm deleted the smithfarm:wip-20720-jewel branch Sep 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment