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

osd: handle misdirected pg command #1664

Merged
merged 1 commit into from Apr 14, 2014
Merged

osd: handle misdirected pg command #1664

merged 1 commit into from Apr 14, 2014

Conversation

liewegas
Copy link
Member

If we get this message after we lose primary-ship, we call into a helper
method that asserts. We shouldn't do anythign if we're no longer primary,
and need to poke the client to be sure they know to resend elsewhere.

We can get a query on a pg we still have but are no longer primary for.  If
that happens, do not reply.  The client will resend to the correct OSD
assuming it has the map.  Send them the latest incremental so that we know
they know there is something new.  We don't know the exact epoch they have,
unfortunately, because MCommand doesn't include it, but a newer inc is
enough to make them request the right incrementals from a mon.  Eventually
they will figure it out and Objecter will resend the request to the
correct target.

It is possible we should include epoch in the MCommand message so that we
can do this mapping "correctly" (as in, the same way MOSDOp does).  That
makes MCommand less general, though... a PG-specific command message might
be the most precise thing.  Another day...

Fixes: #8085
Signed-off-by: Sage Weil <sage@inktank.com>
athanatos pushed a commit that referenced this pull request Apr 14, 2014
osd: handle misdirected pg command

Reviewed-by: Samuel Just <sam.just@inktank.com>
@athanatos athanatos merged commit cab29ac into master Apr 14, 2014
@athanatos athanatos deleted the wip-8085 branch April 14, 2014 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants