Revision c17384fea451e4f0f1c16192051fbbf0da50a952 authored by Sagar Vemuri on 11 November 2019, 22:07:36 UTC, committed by Facebook Github Bot on 11 November 2019, 22:09:01 UTC
Summary:
When users use Level-Compaction-with-TTL by setting `cf_options.ttl`, the ttl-expired data could take n*ttl time to reach the bottom level (where n is the number of levels) due to how the `creation_time` table property was calculated for the newly created files during compaction. The creation time of new files was set to a max of all compaction-input-files-creation-times which essentially resulted in resetting the ttl as the key range moves across levels. This behavior is now fixed by changing the `creation_time` to be based on minimum of all compaction-input-files-creation-times; this will cause cascading compactions across levels for the ttl-expired data to move to the bottom level, resulting in getting rid of tombstones/deleted-data faster.

This will help start cascading compactions to move the expired key range to the bottom-most level faster.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5992

Test Plan: `make check`

Differential Revision: D18257883

Pulled By: sagar0

fbshipit-source-id: 00df0bb8d0b7e14d9fc239df2cba8559f3e54cbc
1 parent 8e7aa62
History
File Mode Size
coverage_test.sh -rwxr-xr-x 2.3 KB
parse_gcov_output.py -rw-r--r-- 4.2 KB

back to top