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
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 |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...