From 9ef43722ad94ea688fa7f70daab6dd41fac6ee53 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Mon, 12 Feb 2024 09:31:52 +0000 Subject: [PATCH] osd/SnapMapper: add common logs Signed-off-by: Matan Breizman (cherry picked from commit f302be018ebef365d8876d14185c4bdb246f22d8) --- src/osd/SnapMapper.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index e6a2b4d7d55..2a7ee5e51cc 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -591,18 +591,22 @@ vector SnapMapper::get_objects_by_prefixes( // access RocksDB (an expensive operation!) int r = backend.get_next(pos, &next); dout(20) << __func__ << " get_next(" << pos << ") returns " << r - << " " << next << dendl; + << " " << next.first << dendl; if (r != 0) { return out; // Done } - if (!next.first.starts_with(prefix)) { + ceph_assert(is_mapping(next.first)); + + if (auto next_prefix = next.first.substr(0, prefix.size()); + next_prefix != prefix) { // TBD: we access the DB twice for the first object of each iterator... + dout(20) << fmt::format("{}: breaking, prefix expected {} got {}", + __func__, prefix, next_prefix) + << dendl; break; // Done with this prefix } - ceph_assert(is_mapping(next.first)); - dout(20) << __func__ << " " << next.first << dendl; pair next_decoded(from_raw(next)); ceph_assert(next_decoded.first == snap); @@ -613,6 +617,9 @@ vector SnapMapper::get_objects_by_prefixes( } if (out.size() >= max) { + dout(20) << fmt::format("{}: reached max of: {} returning", + __func__, out.size()) + << dendl; return out; } } -- 2.39.5