Project

General

Profile

Bug #2752

Setting large maxosd kills all mons

Added by Florian Haas over 11 years ago. Updated over 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Monitor
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Originally reported in http://marc.info/?l=ceph-devel&m=134151018912133&w=2:

When setting a large maxosd, all mons kill themselves in mass suicide:

ceph osd setmaxosd 2147483647
2012-07-05 16:29:41.893862 b5962b70  0 monclient: hunting for new mon

I don't know what the actual threshold is, but setting your maxosd to
any sufficiently big number should do it. I had hoped 2^31-1 would be
fine, but evidently it's not.

This is what's in the mon log -- the first line is obviously only on
the leader at the time of the command, the others are on all mons.

    -1> 2012-07-05 16:29:41.829470 b41a1b70  0 mon.daisy@0(leader) e1
handle_command mon_command(osd setmaxosd 2147483647 v 0) v1
     0> 2012-07-05 16:29:41.887590 b41a1b70 -1 *** Caught signal (Aborted) **
 in thread b41a1b70

 ceph version 0.48argonaut (commit:c2b20ca74249892c8e5e40c12aa14446a2bf2030)
 1: /usr/bin/ceph-mon() [0x816f461]
 2: [0xb7738400]
 3: [0xb7738424]
 4: (gsignal()+0x51) [0xb731a781]
 5: (abort()+0x182) [0xb731dbb2]
 6: (__gnu_cxx::__verbose_terminate_handler()+0x14f) [0xb753b53f]
 7: (()+0xbd405) [0xb7539405]
 8: (()+0xbd442) [0xb7539442]
 9: (()+0xbd581) [0xb7539581]
 10: (()+0x11dea) [0xb7582dea]
 11: (tc_new()+0x26) [0xb75a1636]
 12: (std::vector<unsigned char, std::allocator<unsigned char>
>::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned
int, unsigned char const&)+0x79) [0x8185629]
 13: (OSDMap::set_max_osd(int)+0x497) [0x817c6b7]

Associated revisions

Revision 5601ae27 (diff)
Added by Yehuda Sadeh over 11 years ago

mon: set a configurable max osd cap

Don't allow setting a higher osd num through the
ceph control util.

Fixes: #2752
Signed-off-by: Yehuda Sadeh <>

History

#1 Updated by Florian Haas over 11 years ago

Original ML response from Greg (http://marc.info/?l=ceph-devel&m=134151077312444&w=2):

Ungh. Can you file a bug report? The problem here is that the monitor
is trying to allocate a number of maps and arrays with that many
entries; we probably need to put an artificial cap in place as a
config option.

#2 Updated by Yehuda Sadeh over 11 years ago

  • Status changed from New to Resolved

#3 Updated by Florian Haas over 11 years ago

Thanks Yehuda!

Also available in: Atom PDF