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; }