]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: tolerate missing epoch key 6444/head
authorSage Weil <sage@redhat.com>
Sat, 24 Oct 2015 23:51:15 +0000 (19:51 -0400)
committerSage Weil <sage@redhat.com>
Mon, 2 Nov 2015 13:32:06 +0000 (08:32 -0500)
An orphan PG may have an info attr but no epoch key.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.cc

index 8ddfd0d6e1597669d46027b3ef7653ec7cd17f80..c13321c7b37abafcf340ce4c686d8c293ed13b0c 100644 (file)
@@ -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 {