From: Sage Weil Date: Mon, 19 Aug 2019 21:32:22 +0000 (-0500) Subject: osd/PeeringState: do not complain about past_intervals constrained by oldest epoch X-Git-Tag: v14.2.5~176^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=67e20d86e80d88c44ec6a9d471df2e023fd9bbe9;p=ceph.git osd/PeeringState: do not complain about past_intervals constrained by oldest epoch The start of the required interval has a floor set by the oldest osdmap epoch we have. That can lead to an invalid/empty required interval (because the start is >= the end), but the PG may still have past intervals. That can be cause by a slow PG deletion. No need to complain about this harmless condition. Fixes: https://tracker.ceph.com/issues/39546 Signed-off-by: Sage Weil (cherry picked from commit b1396774a40b7b3e54c9f52b6bb6f03d31c35401) Conflicts: src/osd/PeeringState.cc - this file does not exist in nautilus: manually cherry-picked the changes into PG.cc --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 8161087bfb47..079e9a50e78d 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -912,11 +912,15 @@ bool PG::needs_backfill() const void PG::check_past_interval_bounds() const { + auto oldest_epoch = osd->get_superblock().oldest_map; auto rpib = get_required_past_interval_bounds( info, - osd->get_superblock().oldest_map); + oldest_epoch); if (rpib.first >= rpib.second) { - if (!past_intervals.empty()) { + // do not warn if the start bound is dictated by oldest_map; the + // past intervals are presumably appropriate given the pg info. + if (!past_intervals.empty() && + rpib.first > oldest_epoch) { osd->clog->error() << info.pgid << " required past_interval bounds are" << " empty [" << rpib << ") but past_intervals is not: " << past_intervals;