Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Universal Compaction with TTL #4749

Closed
wants to merge 1 commit into from
Closed

Conversation

sagar0
Copy link
Contributor

@sagar0 sagar0 commented Dec 5, 2018

Extend the ttl option to work with Universal compaction as well. This is an extension of the Level compaction+TTL work done in #3591. This would allow to reduce space and read amplification at the cost of more write amplification.
All compaction styles (fifo, level and universal) now work with a ttl option.

Implementation Details:

  • Re-used the code from PickDeleteTriggeredCompaction, and changed the method name to be more generic.

Still Todo:

  • Write more TTL-triggered tests
  • Change name of PickSomeTriggeredCompaction

For later: Deprecate CompactionOptionsFIFO.ttl and instead make use of ColumnFamilyOptions.ttl for FIFO

@sagar0 sagar0 added the WIP Work in progress label Dec 5, 2018
@sagar0 sagar0 changed the title [WIP] Universal Compaction with TTL Universal Compaction with TTL Apr 3, 2019
@sagar0
Copy link
Contributor Author

sagar0 commented Nov 22, 2019

Discarding, as this can more be better implemented via the periodic compaction framework that was laid out recently for universal.

@sagar0 sagar0 closed this Nov 22, 2019
facebook-github-bot pushed a commit that referenced this pull request Nov 23, 2019
Summary:
`options.ttl` is now supported in universal compaction, similar to how periodic compactions are implemented in PR #5970 .
Setting `options.ttl` will simply set `options.periodic_compaction_seconds` to execute the periodic compactions code path.
Discarded PR #4749 in lieu of this.

This is a short term work-around/hack of falling back to periodic compactions when ttl is set.
Pull Request resolved: #6071

Test Plan: Added a unit test.

Differential Revision: D18668336

Pulled By: sagar0

fbshipit-source-id: e75f5b81ba949f77ef9eff05e44bb1c757f58612
wolfkdy pushed a commit to wolfkdy/rocksdb that referenced this pull request Dec 22, 2019
Summary:
`options.ttl` is now supported in universal compaction, similar to how periodic compactions are implemented in PR facebook#5970 .
Setting `options.ttl` will simply set `options.periodic_compaction_seconds` to execute the periodic compactions code path.
Discarded PR facebook#4749 in lieu of this.

This is a short term work-around/hack of falling back to periodic compactions when ttl is set.
Pull Request resolved: facebook#6071

Test Plan: Added a unit test.

Differential Revision: D18668336

Pulled By: sagar0

fbshipit-source-id: e75f5b81ba949f77ef9eff05e44bb1c757f58612
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants