Problem only exists in Luminous/Mimic.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry-picked from commit
5f23246)
#include "Beacon.h"
+#include <math.h>
#include <chrono>
#define dout_context g_ceph_context
std::list<MDSHealthMetric> late_recall_metrics;
std::list<MDSHealthMetric> large_completed_requests_metrics;
for (auto& session : sessions) {
- const uint64_t recall_caps = session->get_recall_caps();
+ const uint64_t recall_caps = fmax(0.0, session->get_recall_caps()); /* In Luminous: decay counter may go negative due to hit */
if (recall_caps > recall_warning_threshold) {
dout(2) << "Session " << *session <<
" is not releasing caps fast enough. Recalled caps at " << recall_caps