Project

General

Profile

Fix #9484

OSD: block until we have the same map as the client on pg commands

Added by Greg Farnum almost 5 years ago. Updated over 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
OSD
Target version:
-
Start date:
09/15/2014
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

Right now, if a client has a newer map than we do and sends a PG command (like list_missing, #9219) we can reply ENOENT even if we should have the PG locally. We should probably block pg commands until we're up-to-date with the client, at which point we can say we don't have the PG while acknowledging that we should and are waiting for notifications from other replicas.

Associated revisions

Revision 2bbab059 (diff)
Added by Mykola Golub over 4 years ago

OSD: add a get_latest_osdmap command to the admin socket

The command blocks and ensures we have the latest map from the
mon. This is useful in testing and to "unstick" clusters in some
odd situations.

Fixes: #9483, #9484 (maybe)
Signed-off-by: Mykola Golub <>

History

#1 Updated by Sage Weil almost 5 years ago

Instead of blocking for every tell command (or even a subset), we can add one new command 'get_latest_osdmap' or similar that blocks and ensures we have the latest map from the mon. The teuthology tests can then use this where appropriate.

#2 Updated by Mykola Golub over 4 years ago

Please look at https://github.com/ceph/ceph/pull/3309 which might be solution for this issue.

Also available in: Atom PDF