Project

General

Profile

Bug #1383

objecter: under some circumstances it requests the wrong map

Added by Greg Farnum about 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
librados
Target version:
Start date:
08/09/2011
Due date:
% Done:

0%

Spent time:
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

While testing manypools, I had a hang on pool creation. Turns out the monitor was creating the pool, but the client was never getting the new map. In the logs, I see:

2011-08-09 14:18:55.059771 7fa630f35700 -- 10.3.14.172:0/1032124 <== mon2 10.3.14.182:6791/0 12 ==== poolopreply(reply:Success, 1 v1034) v1 ==== 43+0+0 (2209587560 0 0) 0x1c09770 con 0x1c0d520
2011-08-09 14:18:55.059805 7fa630f35700 client6956.objecter handle_pool_op_reply poolopreply(reply:Success, 1 v1034) v1
2011-08-09 14:18:55.059830 7fa630f35700 client6956.objecter have request 1 at 0x1c1b180 Op: create
2011-08-09 14:18:55.059840 7fa630f35700 client6956.objecter maybe_request_map subscribing (onetime) to next osd map
2011-08-09 14:18:55.059891 7fa630f35700 -- 10.3.14.172:0/1032124 --> 10.3.14.182:6791/0 -- mon_subscribe({monmap=2+,osdmap=1033}) v1 -- ?+0 0x7fa6280b5f50 con 0x1c0d520
2011-08-09 14:18:55.059916 7fa630f35700 client6956.objecter done
2011-08-09 14:18:55.060364 7fa630f35700 -- 10.3.14.172:0/1032124 <== mon2 10.3.14.182:6791/0 13 ==== osd_map(1033,1033) v1 ==== 216+0+0 (366697694 0 0) 0x1c0a260 con 0x1c0d520
2011-08-09 14:18:55.060376 7fa630f35700 client6956.objecter handle_osd_map got epochs [1033,1033] > 1032
2011-08-09 14:18:55.060384 7fa630f35700 client6956.objecter handle_osd_map decoding incremental epoch 1033

So maybe it's doing a one-time subscribe even though it needs a specific version of the map?

Associated revisions

Revision 41f484d9 (diff)
Added by Greg Farnum about 8 years ago

objecter: allow requesting specific maps in maybe_request_map

Use this capability so that wait_for_new_map can specify a specific
map it wants go get. I am extending the sins of the fathers by
allowing a default value of 0 for the epoch here, but removing it
is even clumsier and there are lots of uses where it legitimately
doesn't care what epoch it gets.

Fixes #1383.

Signed-off-by: Greg Farnum <>

History

#1 Updated by Greg Farnum about 8 years ago

  • Status changed from New to Resolved

Yep. Have the simple fix in my local branch, will push with the rest of my changes!

Also available in: Atom PDF