diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 3035db7fa4345..78c47682489b6 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -10871,6 +10871,11 @@ int PrimaryLogPG::find_object_context(const hobject_t& oid, snapid_t first, last; auto p = obc->ssc->snapset.clone_snaps.find(soid.snap); assert(p != obc->ssc->snapset.clone_snaps.end()); + if (p->second.empty()) { + dout(1) << __func__ << " " << soid << " empty snapset -- DNE" << dendl; + assert(!cct->_conf->osd_debug_verify_snaps); + return -ENOENT; + } first = p->second.back(); last = p->second.front(); if (first <= oid.snap) { diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index 4aa97bf8782ed..efe6a668976a1 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -155,7 +155,10 @@ int SnapMapper::get_snaps( bufferlist::iterator bp = got.begin()->second.begin(); decode(*out, bp); dout(20) << __func__ << " " << oid << " " << out->snaps << dendl; - assert(!out->snaps.empty()); + if (out->snaps.empty()) { + dout(1) << __func__ << " " << oid << " empty snapset" << dendl; + assert(!cct->_conf->osd_debug_verify_snaps); + } } else { dout(20) << __func__ << " " << oid << " (out == NULL)" << dendl; }