From 380bed23b75c8cdf800db4f711c0d08adde311eb Mon Sep 17 00:00:00 2001 From: Samuel Fu Date: Wed, 6 Aug 2025 18:45:12 +0000 Subject: [PATCH] Add X W Z flag for metaget response --- .../evcache/operation/EVCacheItemMetaData.java | 16 ++++++++++++++++ .../spy/memcached/EVCacheMemcachedClient.java | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/evcache-core/src/main/java/com/netflix/evcache/operation/EVCacheItemMetaData.java b/evcache-core/src/main/java/com/netflix/evcache/operation/EVCacheItemMetaData.java index 4703b4ad..6d0cbe6b 100644 --- a/evcache-core/src/main/java/com/netflix/evcache/operation/EVCacheItemMetaData.java +++ b/evcache-core/src/main/java/com/netflix/evcache/operation/EVCacheItemMetaData.java @@ -43,6 +43,22 @@ public class EVCacheItemMetaData { public int slabClass; public int sizeInBytes; + public boolean stale; + public boolean itemWonRecache; + public boolean itemLostRecache; + + public void setStale(boolean stale) { + this.stale = stale; + } + + public void setItemWonRecache(boolean itemWonRecache) { + this.itemWonRecache = itemWonRecache; + } + + public void setItemLostRecache(boolean itemLostRecache) { + this.itemLostRecache = itemLostRecache; + } + public EVCacheItemMetaData() { super(); } diff --git a/evcache-core/src/main/java/net/spy/memcached/EVCacheMemcachedClient.java b/evcache-core/src/main/java/net/spy/memcached/EVCacheMemcachedClient.java index 9fc6f875..3f626f69 100644 --- a/evcache-core/src/main/java/net/spy/memcached/EVCacheMemcachedClient.java +++ b/evcache-core/src/main/java/net/spy/memcached/EVCacheMemcachedClient.java @@ -915,6 +915,18 @@ public void gotMetaData(String k, char flag, String fVal) { getDataSizeDistributionSummary(EVCacheMetricsFactory.META_GET_OPERATION, EVCacheMetricsFactory.READ, EVCacheMetricsFactory.INTERNAL_TTL).record(ttlLeft); break; + case 'X': + evItem.getItemMetaData().setStale(true); + break; + + case 'W': + evItem.getItemMetaData().setItemWonRecache(true); + break; + + case 'Z': + evItem.getItemMetaData().setItemLostRecache(true); + break; + default: break; }