From: Maysam Yabandeh Date: Wed, 24 Jul 2019 22:17:55 +0000 (-0700) Subject: Declare snapshot refresh incompatible with delete range (#5625) X-Git-Tag: v6.2.4~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fdc56e2b734ee35920acc1b6cd4e414f6269461d;p=rocksdb.git Declare snapshot refresh incompatible with delete range (#5625) 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 --- diff --git a/include/rocksdb/options.h b/include/rocksdb/options.h index 1f370deb..570932ea 100644 --- a/include/rocksdb/options.h +++ b/include/rocksdb/options.h @@ -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