From b9ac90d0a8f96678eabbf450ff9f31a085cf25ef Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 24 Oct 2015 19:51:15 -0400 Subject: [PATCH] osd/PG: tolerate missing epoch key An orphan PG may have an info attr but no epoch key. Signed-off-by: Sage Weil --- src/osd/PG.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 8ddfd0d6e1597..c13321c7b37ab 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 { -- 2.39.5