Fix false removal of tombstone issue in FIFO and kCompactionStyleNone
Summary:
Similar to the bug fixed by https://github.com/facebook/rocksdb/pull/2726, FIFO with compaction and kCompactionStyleNone during user customized CompactFiles() with output level to be 0 can suffer from the same problem. Fix it by leveraging the bottommost_level_ flag.
Closes https://github.com/facebook/rocksdb/pull/2735
Differential Revision:
D5626906
Pulled By: siying
fbshipit-source-id:
2b148d0461c61dbd986d74655e384419ae442158
Fix missing stdlib include required for abort()
Summary:
If ROCKSDB_LITE is defined, a call to abort() is introduced. This call requires stdlib.h.
Build log of unpatched 5.7.1:
http://beefy9.nyi.freebsd.org/data/110amd64-default/447974/logs/rocksdb-lite-5.7.1.log
Closes https://github.com/facebook/rocksdb/pull/2744
Reviewed By: yiwu-arbug
Differential Revision:
D5632372
Pulled By: lxcode
fbshipit-source-id:
b2a8e692bf14ccf1f875f3a00463e87bba310a2b
fix deletion dropping in intra-L0
Summary:
`KeyNotExistsBeyondOutputLevel` didn't consider L0 files' key-ranges. So if a key only was covered by older L0 files' key-ranges, we would incorrectly drop deletions of that key. This PR just skips the deletion-dropping optimization when output level is L0.
Closes https://github.com/facebook/rocksdb/pull/2726
Differential Revision:
D5617286
Pulled By: ajkr
fbshipit-source-id:
4bff1396b06d49a828ba4542f249191052915bce
Move blob_db/ttl_extractor.h into blob_db/blob_db.h
Summary:
Move blob_db/ttl_extractor.h into blob_db/blob_db.h
Also exclude TTLExtractor from LITE build.
Closes https://github.com/facebook/rocksdb/pull/2665
Differential Revision:
D5520009
Pulled By: yiwu-arbug
fbshipit-source-id:
4813dcc272c7cc4bf2cdac285256d9a17d78c7b7
Blob DB TTL extractor
Summary:
Introducing blob_db::TTLExtractor to replace extract_ttl_fn. The TTL
extractor can be use to extract TTL from keys insert with Put or
WriteBatch. Change over existing extract_ttl_fn are:
* If value is changed, it will be return via std::string* (rather than Slice*). With Slice* the new value has to be part of the existing value. With std::string* the limitation is removed.
* It can optionally return TTL or expiration.
Other changes in this PR:
* replace `std::chrono::system_clock` with `Env::NowMicros` so that I can mock time in tests.
* add several TTL tests.
* other minor naming change.
Closes https://github.com/facebook/rocksdb/pull/2659
Differential Revision:
D5512627
Pulled By: yiwu-arbug
fbshipit-source-id:
0dfcb00d74d060b8534c6130c808e4d5d0a54440
Reduce blob db noisy logging
Summary:
Remove some of the per-key logging by blob db to reduce noise.
Closes https://github.com/facebook/rocksdb/pull/2587
Differential Revision:
D5429115
Pulled By: yiwu-arbug
fbshipit-source-id:
b89328282fb8b3c64923ce48738c16017ce7feaf
Update java/rocksjni.pom
Summary: Closes https://github.com/facebook/rocksdb/pull/2610
Differential Revision:
D5445705
Pulled By: siying
fbshipit-source-id:
d5f97ffdf5bc18b853c3a106755aca96a650e428
Remove some left-over BSD headers
Summary: Closes https://github.com/facebook/rocksdb/pull/2608
Differential Revision:
D5444797
Pulled By: siying
fbshipit-source-id:
690581d03f37822e059a16085088e8e2d8a45016
Add back the LevelDB license file
Summary: Closes https://github.com/facebook/rocksdb/pull/2591
Differential Revision:
D5432696
Pulled By: siying
fbshipit-source-id:
a613230ab916de0b279a65ef429ede65460a8db2
Remove the licensing description in CONTRIBUTING.md
Summary: Closes https://github.com/facebook/rocksdb/pull/2590
Differential Revision:
D5432539
Pulled By: siying
fbshipit-source-id:
49902453bba3c95c1fb8354441b2198649e52bf4
Change RocksDB License
Summary: Closes https://github.com/facebook/rocksdb/pull/2589
Differential Revision:
D5431502
Pulled By: siying
fbshipit-source-id:
8ebf8c87883daa9daa54b2303d11ce01ab1f6f75