]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Declare snapshot refresh incompatible with delete range (#5625)
authorMaysam Yabandeh <myabandeh@fb.com>
Wed, 24 Jul 2019 22:17:55 +0000 (15:17 -0700)
committermyabandeh <myabandeh@fb.com>
Wed, 18 Sep 2019 21:37:22 +0000 (14:37 -0700)
Summary:
The ::snap_refresh_nanos option is incompatible with DeleteRange feature. Currently the code relies on range_del_agg.IsEmpty() to disable it if there are range delete tombstones. However ::IsEmpty does not guarantee that there is no RangeDelete tombstones in the SST files. The patch declares the two features incompatible in inline comments until we later figure how to properly detect the presence of RangeDelete tombstones in compaction inputs.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5625

Differential Revision: D16468218

Pulled By: maysamyabandeh

fbshipit-source-id: bd7beca278bc7e1db75e7ee4522d05a3a6ca86f4

include/rocksdb/options.h

index 1f370debf4f137a80a2deefa5a2512405fa7331c..570932ea81f0511a4da9591a352d980026fb4250 100644 (file)
@@ -275,6 +275,8 @@ struct ColumnFamilyOptions : public AdvancedColumnFamilyOptions {
   // this option helps reducing the cpu usage of long-running compactions. The
   // feature is disabled when max_subcompactions is greater than one.
   //
+  // NOTE: This feautre is currently incompatible with RangeDeletes.
+  //
   // Default: 0
   //
   // Dynamically changeable through SetOptions() API