summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unreleased_history/behavior_changes/dump_all_keys.md1
-rw-r--r--utilities/cache_dump_load_impl.cc3
-rw-r--r--utilities/cache_dump_load_impl.h2
3 files changed, 5 insertions, 1 deletions
diff --git a/unreleased_history/behavior_changes/dump_all_keys.md b/unreleased_history/behavior_changes/dump_all_keys.md
new file mode 100644
index 000000000..913cc0442
--- /dev/null
+++ b/unreleased_history/behavior_changes/dump_all_keys.md
@@ -0,0 +1 @@
+Dump all keys for cache dumper impl if `SetDumpFilter()` is not called
diff --git a/utilities/cache_dump_load_impl.cc b/utilities/cache_dump_load_impl.cc
index d70fb27c9..f0b2a7344 100644
--- a/utilities/cache_dump_load_impl.cc
+++ b/utilities/cache_dump_load_impl.cc
@@ -26,6 +26,7 @@ namespace ROCKSDB_NAMESPACE {
// requirement.
Status CacheDumperImpl::SetDumpFilter(std::vector<DB*> db_list) {
Status s = Status::OK();
+ dump_all_keys_ = false;
for (size_t i = 0; i < db_list.size(); i++) {
assert(i < db_list.size());
TablePropertiesCollection ptc;
@@ -157,7 +158,7 @@ CacheDumperImpl::DumpOneBlockCallBack(std::string& buf) {
}
// based on the key prefix, check if the block should be filter out.
- if (ShouldFilterOut(key)) {
+ if (!dump_all_keys_ && ShouldFilterOut(key)) {
return;
}
diff --git a/utilities/cache_dump_load_impl.h b/utilities/cache_dump_load_impl.h
index 0034a1453..ee892f474 100644
--- a/utilities/cache_dump_load_impl.h
+++ b/utilities/cache_dump_load_impl.h
@@ -126,6 +126,8 @@ class CacheDumperImpl : public CacheDumper {
// Deadline for dumper in microseconds.
std::chrono::microseconds deadline_;
uint64_t dumped_size_bytes_;
+ // dump all keys of cache if user doesn't call SetDumpFilter
+ bool dump_all_keys_ = true;
};
// The default implementation of CacheDumpedLoader