GitHub user git-hulk added a comment to the discussion: 
CompactOnExpiredCollector的工作不符合预期

> 经过compact后,只是回收了 h1, 这一个key,并不会回收subkey cf中对应的key,没看出来收益是什么? 
> 功能上,和trigger_threshold不是很相符。

对于 SubKey Column Family 的回收是在 Compaction Checker 里面实现,里面的逻辑会依赖 Collector 
生成的数据。NeedCompact 仅针对 Metadata Column Family 这个逻辑没有问题

> MetadataFilter::Filter 过滤掉了过期的meta cf 导致 
> #1的逻辑不会生效;调用MetadataFilter::Filter,发现meta key过期了,那么过期的meta key不会调用 
> CompactOnExpiredCollector::AddUserKey。

Collector 只会在 Table Builder 阶段调用,Metadata Key 过期不需要去更新 Collector 
的数据。也就是这些过期数据一定程度上必然不是实时的,所以依赖于 Compaction Checker 在时间上强制去做 Compaction 来更新这些数据。

我可能没有完全理解上面想表达的优化点是什么?如果有更好的策略也欢迎提出来。



GitHub link: 
https://github.com/apache/kvrocks/discussions/2898#discussioncomment-12930827

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to