summaryrefslogtreecommitdiff
path: root/extstore.h
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2017-11-16 18:51:44 -0800
committerdormando <dormando@rydia.net>2017-11-28 14:18:05 -0800
commit46a297cb0b6bad956793c25cc04ee208fc75a843 (patch)
tree585aeee59c1ad4a7cba82e2a44826329cdfb611d /extstore.h
parentfa37474c2a98ce4f23a4c3e059d432f798b878b6 (diff)
downloadmemcached-46a297cb0b6bad956793c25cc04ee208fc75a843.tar.gz
extstore: crawler fix and ext_low_ttl option
LRU crawler was not marking reclaimed expired items as removed from the storage engine. This could cause fragmentation to persist much longer than it should, but would not cause any problems once compaction started. Adds "ext_low_ttl" option. Items with a remaining expiration age below this value are grouped into special pages. If you have a mixed TTL workload this would help prevent low TTL items from causing excess fragmentation/compaction. Pages with low ttl items are excluded from compaction.
Diffstat (limited to 'extstore.h')
-rw-r--r--extstore.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/extstore.h b/extstore.h
index 6a6b2bd..84157a0 100644
--- a/extstore.h
+++ b/extstore.h
@@ -7,6 +7,7 @@
struct extstore_page_data {
uint64_t version;
uint64_t bytes_used;
+ unsigned int bucket;
};
/* Pages can have objects deleted from them at any time. This creates holes