diff --git a/HISTORY.md b/HISTORY.md index ec8fd9ed4..638d8ee63 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -10,6 +10,7 @@ ### New Features * ldb has a new feature, `list_live_files_metadata`, that shows the live SST files, as well as their LSM storage level and the column family they belong to. * The new BlobDB implementation now tracks the amount of garbage in each blob file in the MANIFEST. +* Integrated BlobDB now supports Merge with base values (Put/Delete etc.). ## 6.22.0 (2021-06-18) ### Behavior Changes diff --git a/db_stress_tool/db_stress_test_base.cc b/db_stress_tool/db_stress_test_base.cc index 6a649eca9..f9f19a4ea 100644 --- a/db_stress_tool/db_stress_test_base.cc +++ b/db_stress_tool/db_stress_test_base.cc @@ -2357,10 +2357,10 @@ void StressTest::Open() { if ((options_.enable_blob_files || options_.enable_blob_garbage_collection || FLAGS_allow_setting_blob_options_dynamically) && - (FLAGS_use_merge || FLAGS_best_efforts_recovery)) { + FLAGS_best_efforts_recovery) { fprintf(stderr, - "Integrated BlobDB is currently incompatible with Merge, " - "and best-effort recovery\n"); + "Integrated BlobDB is currently incompatible with best-effort " + "recovery\n"); exit(1); } diff --git a/tools/db_bench_tool.cc b/tools/db_bench_tool.cc index be2d4b6ab..dd5587e75 100644 --- a/tools/db_bench_tool.cc +++ b/tools/db_bench_tool.cc @@ -7840,13 +7840,6 @@ int db_bench_tool(int argc, char** argv) { exit(1); } - if ((FLAGS_enable_blob_files || FLAGS_enable_blob_garbage_collection) && - !FLAGS_merge_operator.empty()) { - fprintf(stderr, - "Integrated BlobDB is currently incompatible with Merge.\n"); - exit(1); - } - ROCKSDB_NAMESPACE::Benchmark benchmark; benchmark.Run(); diff --git a/tools/db_crashtest.py b/tools/db_crashtest.py index 263ea807d..aa0459141 100644 --- a/tools/db_crashtest.py +++ b/tools/db_crashtest.py @@ -280,8 +280,6 @@ blob_params = { "blob_compression_type": lambda: random.choice(["none", "snappy", "lz4", "zstd"]), "enable_blob_garbage_collection": lambda: random.choice([0] + [1] * 3), "blob_garbage_collection_age_cutoff": lambda: random.choice([0.0, 0.25, 0.5, 0.75, 1.0]), - # The following are currently incompatible with the integrated BlobDB - "use_merge": 0, } ts_params = {