--
You received this message because you are subscribed to the Google Groups "rocksdb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rocksdb+u...@googlegroups.com.
To post to this group, send email to roc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rocksdb/CALB2BQ8oZukmN-79ojPaWWnmyBsc6xg9yz67w6xaqhorzS6xpQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/rocksdb/CAB9avhNsrjK_znDdDtyzdeL1Yga9NeiEAAKV6nw29D9HZfQXAg%40mail.gmail.com.
So conversely, if I wanted data to actually expire out after a set TTL, I would set a nonzero TTL on the column family options and then write my own compaction filter to introspect the value (or where-ever I store a timestamp) to decide how old the item is?
if I want RocksDB to apply a simple TTL universally across the DB, how might that be enforced?
To view this discussion on the web visit https://groups.google.com/d/msgid/rocksdb/CALB2BQ-%2BkMxQm5jPO4gdREYMQn41w2xUkYwKjh0S8-YPz6tEuQ%40mail.gmail.com.
So conversely, if I wanted data to actually expire out after a set TTL, I would set a nonzero TTL on the column family options and then write my own compaction filter to introspect the value (or where-ever I store a timestamp) to decide how old the item is?Yeah, that's the direction to go -- using compaction filters to introspect and make a decision, when a TTL-expired file is picked for compaction.Out of curiosity, could you provide a little more information about how your timestamps are stored, and what do you use them for? We are looking at how best to support timestamps in RocksDB, and wanted to see if your use-case could be handled better in the future.
if I want RocksDB to apply a simple TTL universally across the DB, how might that be enforced?Do you mean, making use of the current `ttl` option across column families? Or something else?
This also has the (good) side-effect of all the data in the non-bottommost level being newer than ttl, and all data in the bottommost level older than ttl.
Yes, Lmax was intentionally avoided from TTL compaction originally. But due to some new use-cases at our end in the last month or so, I have been working on adding Lmax too to be included now (behind an option). Keep an eye out for my PR in the next few days.