From: Sage Weil Date: Sat, 24 Oct 2015 23:51:15 +0000 (-0400) Subject: osd/PG: tolerate missing epoch key X-Git-Tag: v9.2.0~1^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b9ac90d0a8f96678eabbf450ff9f31a085cf25ef;p=ceph.git osd/PG: tolerate missing epoch key An orphan PG may have an info attr but no epoch key. Signed-off-by: Sage Weil --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 8ddfd0d6e15..c13321c7b37 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2847,7 +2847,10 @@ int PG::peek_map_epoch(ObjectStore *store, values.clear(); keys.insert(ek); store->omap_get_values(coll_t::meta(), legacy_infos_oid, keys, &values); - assert(values.size() == 1); + if (values.size() < 1) { + // probably bug 10617; see OSD::load_pgs() + return -1; + } bufferlist::iterator p = values[ek].begin(); ::decode(cur_epoch, p); } else {