Fix a backward compatibility problem with table_properties being nullptr
Summary:
Currently when ldb built from master tries to open a DB from version 2.2, there will be a segfault because table_properties didn't exist back then.
Closes https://github.com/facebook/rocksdb/pull/3890
Differential Revision:
D8100914
Pulled By: miasantreble
fbshipit-source-id:
b255e8aedc54695432be2e704839c857dabdd65a
Fix Issue #3771: Slice ctor checks for nullptr and creates empty string
Summary:
Fix Issue #3771 : Check for nullptr in Slice constructor
Slice ctor checks for nullptr and creates empty string if the string does not exist
Closes https://github.com/facebook/rocksdb/pull/3887
Differential Revision:
D8098852
Pulled By: ajkr
fbshipit-source-id:
04471077defa9776ce7b8c389a61312ce31002fb
Avoid sleep in DBTest.GroupCommitTest to fix flakiness
Summary:
DBTest.GroupCommitTest would often fail when run under valgrind because its sleeps were insufficient to guarantee a group commit had multiple entries. Instead we can use sync point to force a leader to wait until a non-leader thread has enqueued its work, thus guaranteeing a leader can do group commit work for multiple threads.
Closes https://github.com/facebook/rocksdb/pull/3883
Differential Revision:
D8079429
Pulled By: ajkr
fbshipit-source-id:
61dc50fad29d2c85547842f681288de60fa29049
Avoid single-deleting merge operands in db_stress
Summary:
I repro'd some of the "unexpected value" failures showing up in our CI lately and they always happened on keys that have a mix of single deletes and merge operands. The `SingleDelete()` API comment mentions it's incompatible with `Merge()`, so this PR prevents `db_stress` from mixing them.
Closes https://github.com/facebook/rocksdb/pull/3878
Differential Revision:
D8097346
Pulled By: ajkr
fbshipit-source-id:
357a48c6a31156f4f8db3ce565638ad924c437a1