Skip to content
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: metadata master can get the wrong value for 'oldest_log_period' #11868

Merged
merged 1 commit into from Feb 1, 2017
Merged

Conversation

ghost
Copy link

@ghost ghost commented Nov 9, 2016

RGWMetadataManager no longer makes stat calls on logs shards to
determine its oldest_log_period. Instead, it records the oldest log's
period id and realm_epoch in a rados object. If
RGWMetadataManager::init_oldest_log_period() finds no such object, it
calls find_oldest_period() to read period predecessors until it reaches
the realm's first period, and writes that to rados.

RGWMetadataManager::init_oldest_log_period() is now only called from
RGWRados::init_complete() if run_sync_threads is true, instead of
running unconditionally in RGWMetadataManager::init(), which allows us
to skip building up a period history for radosgw-admin.

Now that RGWMetadataManager::read_oldest_log_period() can return ENOENT
for an uninitialized mdlog history, RGWRemoteMetaLog::run_sync() will
retry on ENOENT as well.

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

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

Conflicts:
	src/rgw/rgw_rados.cc: trivial context resolution
@ghost ghost self-assigned this Nov 9, 2016
@ghost ghost added this to the jewel milestone Nov 9, 2016
@ghost ghost added bug-fix rgw labels Nov 9, 2016
@ghost ghost changed the base branch from jewel to jewel-next November 9, 2016 15:28
@ghost
Copy link
Author

ghost commented Nov 9, 2016

jenkins test this please (general jenkins failure)

ghost pushed a commit that referenced this pull request Nov 9, 2016
…the wrong value for 'oldest_log_period'

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost ghost assigned yehudasa Nov 11, 2016
@ghost
Copy link
Author

ghost commented Nov 11, 2016

@yehudasa does this backport look good to merge ? It passed the rgw suite http://tracker.ceph.com/issues/17851#note-3 . Note that it will not be in 10.2.4, reason why it targets jewel-next.

ghost pushed a commit that referenced this pull request Nov 23, 2016
…the wrong value for 'oldest_log_period'

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Dec 5, 2016
…the wrong value for 'oldest_log_period'

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link
Author

ghost commented Dec 5, 2016

@yehudasa ping

@ghost
Copy link
Author

ghost commented Dec 21, 2016

check this please

1 similar comment
@ghost
Copy link
Author

ghost commented Dec 21, 2016

check this please

@smithfarm
Copy link
Contributor

@smithfarm smithfarm changed the base branch from jewel-next to jewel February 1, 2017 14:25
@smithfarm smithfarm merged commit 7d0c6de into ceph:jewel Feb 1, 2017
@smithfarm
Copy link
Contributor

(11:46:45 AM) smithfarm: owasserm: thanks. For jewel integration rgw, then, what it comes down to is verifying that these 6 valgrind failures are all libtcmalloc-related: http://pulpito.front.sepia.ceph.com/smithfarm-2017-01-31_12:35:14-rgw-wip-jewel-backports-distro-basic-smithi/
(11:46:58 AM) smithfarm: owasserm: I will do that now
(11:47:05 AM) owasserm: smithfarm, thanks
(11:47:33 AM) smithfarm: owasserm: and assuming they are tcmalloc related, you said I can directly merge all the rgw PRs? Or do you want me to ask you for review in the PRs first?
(11:47:53 AM) owasserm: smithfarm, yes you can merge them
(11:48:19 AM) smithfarm: ok, will merge and do at least one or two more rgw runs before passing 10.2.6 to QE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants