From: Sage Weil Date: Wed, 12 Jul 2017 11:30:53 +0000 (-0400) Subject: mon/MgrStatMonitor: do not crash on luninous dev version upgrades X-Git-Tag: v12.1.1~66^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5ec27fbcbf70b65f06a77f185b65f057f199cdf9;p=ceph.git mon/MgrStatMonitor: do not crash on luninous dev version upgrades Signed-off-by: Sage Weil --- diff --git a/src/mon/MgrStatMonitor.cc b/src/mon/MgrStatMonitor.cc index 5a81b931276c..add84e278b72 100644 --- a/src/mon/MgrStatMonitor.cc +++ b/src/mon/MgrStatMonitor.cc @@ -85,13 +85,18 @@ void MgrStatMonitor::update_from_paxos(bool *need_bootstrap) get_version(version, bl); if (version) { assert(bl.length()); - auto p = bl.begin(); - ::decode(digest, p); - ::decode(health_summary, p); - ::decode(health_detail, p); - ::decode(service_map, p); - dout(10) << __func__ << " v" << version - << " service_map e" << service_map.epoch << dendl; + try { + auto p = bl.begin(); + ::decode(digest, p); + ::decode(health_summary, p); + ::decode(health_detail, p); + ::decode(service_map, p); + dout(10) << __func__ << " v" << version + << " service_map e" << service_map.epoch << dendl; + } + catch (buffer::error& e) { + derr << "failed to decode mgrstat state; luminous dev version?" << dendl; + } } check_subs(); update_logger();