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: v15.1.0~1797^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b1396774a40b7b3e54c9f52b6bb6f03d31c35401;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 --- diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index 01e4e3c1ce1..8d837d24d1d 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -813,11 +813,15 @@ static pair get_required_past_interval_bounds( void PeeringState::check_past_interval_bounds() const { + auto oldest_epoch = pl->oldest_stored_osdmap(); auto rpib = get_required_past_interval_bounds( info, - pl->oldest_stored_osdmap()); + 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) { pl->get_clog_error() << info.pgid << " required past_interval bounds are" << " empty [" << rpib << ") but past_intervals is not: " << past_intervals;