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
allocator.h -rw-r--r-- 1.7 KB
arena.cc -rw-r--r-- 7.0 KB
arena.h -rw-r--r-- 5.1 KB
arena_test.cc -rw-r--r-- 6.6 KB
concurrent_arena.cc -rw-r--r-- 1.6 KB
concurrent_arena.h -rw-r--r-- 7.4 KB
jemalloc_nodump_allocator.cc -rw-r--r-- 7.2 KB
jemalloc_nodump_allocator.h -rw-r--r-- 2.6 KB
memory_allocator.h -rw-r--r-- 1.0 KB
memory_usage.h -rw-r--r-- 844 bytes

back to top