From d9dc6b4637276740a19ff8f649fc0d634342e960 Mon Sep 17 00:00:00 2001 From: Maysam Yabandeh Date: Wed, 24 Jul 2019 15:17:55 -0700 Subject: [PATCH] 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 --- include/rocksdb/options.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/rocksdb/options.h b/include/rocksdb/options.h index 35c275565..896beba23 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