From 69fcfc39deeb5483b4f1c2b01d6b4d50103b5e30 Mon Sep 17 00:00:00 2001 From: Chris McFarlen Date: Wed, 20 Jul 2022 14:45:04 -0500 Subject: [PATCH] add a metric to track how often the range seek bug is detected --- iocore/cache/Cache.cc | 1 + iocore/cache/CacheRead.cc | 2 ++ iocore/cache/P_CacheInternal.h | 1 + 3 files changed, 4 insertions(+) diff --git a/iocore/cache/Cache.cc b/iocore/cache/Cache.cc index 1951433208c..22b502aac89 100644 --- a/iocore/cache/Cache.cc +++ b/iocore/cache/Cache.cc @@ -3088,6 +3088,7 @@ register_cache_stats(RecRawStatBlock *rsb, const char *prefix) REG_INT("read.active", cache_read_active_stat); REG_INT("read.success", cache_read_success_stat); REG_INT("read.failure", cache_read_failure_stat); + REG_INT("read.seek.failure", cache_read_seek_fail_stat); REG_INT("write.active", cache_write_active_stat); REG_INT("write.success", cache_write_success_stat); REG_INT("write.failure", cache_write_failure_stat); diff --git a/iocore/cache/CacheRead.cc b/iocore/cache/CacheRead.cc index 7cf8064e9b3..4c33cdf5d26 100644 --- a/iocore/cache/CacheRead.cc +++ b/iocore/cache/CacheRead.cc @@ -749,6 +749,8 @@ CacheVC::openReadMain(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) doc->magic = DOC_CORRUPT; + CACHE_INCREMENT_DYN_STAT(cache_read_seek_fail_stat); + CACHE_TRY_LOCK(lock, vol->mutex, mutex->thread_holding); if (!lock.is_locked()) { SET_HANDLER(&CacheVC::openReadDirDelete); diff --git a/iocore/cache/P_CacheInternal.h b/iocore/cache/P_CacheInternal.h index 8630d3a064f..cf747de60cf 100644 --- a/iocore/cache/P_CacheInternal.h +++ b/iocore/cache/P_CacheInternal.h @@ -113,6 +113,7 @@ enum { cache_read_active_stat, cache_read_success_stat, cache_read_failure_stat, + cache_read_seek_fail_stat, cache_write_active_stat, cache_write_success_stat, cache_write_failure_stat,