@nxtedition/rocksdb 7.0.27 → 7.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.cc +170 -30
- package/chained-batch.js +1 -1
- package/deps/rocksdb/rocksdb/CMakeLists.txt +3 -0
- package/deps/rocksdb/rocksdb/Makefile +3 -0
- package/deps/rocksdb/rocksdb/TARGETS +10 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +17 -7
- package/deps/rocksdb/rocksdb/cache/cache_entry_roles.cc +2 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager.cc +1 -0
- package/deps/rocksdb/rocksdb/cache/charged_cache.cc +117 -0
- package/deps/rocksdb/rocksdb/cache/charged_cache.h +121 -0
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +270 -180
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +412 -124
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +1 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +2 -2
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/sharded_cache.h +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.cc +71 -9
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder.h +11 -2
- package/deps/rocksdb/rocksdb/db/blob/blob_file_builder_test.cc +21 -14
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +68 -7
- package/deps/rocksdb/rocksdb/db/blob/blob_source.h +16 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +519 -12
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +120 -0
- package/deps/rocksdb/rocksdb/db/builder.cc +15 -5
- package/deps/rocksdb/rocksdb/db/builder.h +3 -0
- package/deps/rocksdb/rocksdb/db/c.cc +18 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +18 -0
- package/deps/rocksdb/rocksdb/db/column_family.h +2 -0
- package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +3 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +9 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +15 -10
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +36 -34
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +50 -13
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +12 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +8 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +2 -1
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +13 -17
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +26 -9
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +0 -11
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +93 -0
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +16 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +3 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +8 -1
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +17 -5
- package/deps/rocksdb/rocksdb/db/db_test.cc +0 -3
- package/deps/rocksdb/rocksdb/db/db_test2.cc +39 -12
- package/deps/rocksdb/rocksdb/db/db_test_util.cc +9 -0
- package/deps/rocksdb/rocksdb/db/db_test_util.h +2 -0
- package/deps/rocksdb/rocksdb/db/dbformat.cc +0 -38
- package/deps/rocksdb/rocksdb/db/dbformat.h +14 -13
- package/deps/rocksdb/rocksdb/db/dbformat_test.cc +5 -2
- package/deps/rocksdb/rocksdb/db/event_helpers.cc +13 -1
- package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +0 -10
- package/deps/rocksdb/rocksdb/db/flush_job.cc +19 -15
- package/deps/rocksdb/rocksdb/db/flush_job.h +7 -0
- package/deps/rocksdb/rocksdb/db/flush_job_test.cc +21 -15
- package/deps/rocksdb/rocksdb/db/forward_iterator.h +4 -3
- package/deps/rocksdb/rocksdb/db/memtable_list.cc +9 -0
- package/deps/rocksdb/rocksdb/db/memtable_list.h +5 -0
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.cc +53 -12
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler.h +14 -2
- package/deps/rocksdb/rocksdb/db/periodic_work_scheduler_test.cc +10 -10
- package/deps/rocksdb/rocksdb/db/repair.cc +8 -6
- package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +890 -0
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.cc +324 -0
- package/deps/rocksdb/rocksdb/db/seqno_to_time_mapping.h +186 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +2 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +13 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +23 -2
- package/deps/rocksdb/rocksdb/env/env_test.cc +74 -1
- package/deps/rocksdb/rocksdb/env/io_posix.cc +11 -8
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +28 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +14 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +4 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/comparator.h +30 -23
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/rate_limiter.h +3 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/table_properties.h +5 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/debug.h +1 -2
- package/deps/rocksdb/rocksdb/include/rocksdb/utilities/ldb_cmd.h +1 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
- package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +26 -26
- package/deps/rocksdb/rocksdb/options/cf_options.cc +14 -1
- package/deps/rocksdb/rocksdb/options/cf_options.h +5 -0
- package/deps/rocksdb/rocksdb/options/customizable_test.cc +0 -56
- package/deps/rocksdb/rocksdb/options/db_options.cc +4 -5
- package/deps/rocksdb/rocksdb/options/options.cc +11 -1
- package/deps/rocksdb/rocksdb/options/options_helper.cc +8 -0
- package/deps/rocksdb/rocksdb/options/options_helper.h +4 -0
- package/deps/rocksdb/rocksdb/options/options_settable_test.cc +4 -0
- package/deps/rocksdb/rocksdb/options/options_test.cc +4 -0
- package/deps/rocksdb/rocksdb/src.mk +3 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +6 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.h +4 -0
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_factory.cc +36 -3
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.cc +36 -1
- package/deps/rocksdb/rocksdb/table/block_based/index_builder.h +14 -3
- package/deps/rocksdb/rocksdb/table/internal_iterator.h +1 -1
- package/deps/rocksdb/rocksdb/table/meta_blocks.cc +6 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.cc +5 -0
- package/deps/rocksdb/rocksdb/table/plain/plain_table_builder.h +3 -0
- package/deps/rocksdb/rocksdb/table/sst_file_writer.cc +10 -7
- package/deps/rocksdb/rocksdb/table/table_builder.h +7 -3
- package/deps/rocksdb/rocksdb/table/table_properties.cc +9 -0
- package/deps/rocksdb/rocksdb/test_util/mock_time_env.h +3 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +58 -30
- package/deps/rocksdb/rocksdb/tools/db_bench_tool_test.cc +1 -0
- package/deps/rocksdb/rocksdb/tools/ldb_cmd.cc +20 -0
- package/deps/rocksdb/rocksdb/util/rate_limiter.cc +29 -154
- package/deps/rocksdb/rocksdb/util/rate_limiter.h +16 -34
- package/deps/rocksdb/rocksdb/util/rate_limiter_test.cc +0 -92
- package/deps/rocksdb/rocksdb/util/timer.h +6 -0
- package/deps/rocksdb/rocksdb/util/vector_iterator.h +4 -3
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +4 -45
- package/deps/rocksdb/rocksdb/utilities/debug.cc +40 -0
- package/deps/rocksdb/rocksdb.gyp +2 -0
- package/index.js +19 -2
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
// This source code is licensed under both the GPLv2 (found in the
|
|
3
|
+
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
+
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
+
|
|
6
|
+
#pragma once
|
|
7
|
+
|
|
8
|
+
#include <string>
|
|
9
|
+
|
|
10
|
+
#include "port/port.h"
|
|
11
|
+
#include "rocksdb/cache.h"
|
|
12
|
+
|
|
13
|
+
namespace ROCKSDB_NAMESPACE {
|
|
14
|
+
|
|
15
|
+
class ConcurrentCacheReservationManager;
|
|
16
|
+
|
|
17
|
+
// A cache interface which wraps around another cache and takes care of
|
|
18
|
+
// reserving space in block cache towards a single global memory limit, and
|
|
19
|
+
// forwards all the calls to the underlying cache.
|
|
20
|
+
class ChargedCache : public Cache {
|
|
21
|
+
public:
|
|
22
|
+
ChargedCache(std::shared_ptr<Cache> cache,
|
|
23
|
+
std::shared_ptr<Cache> block_cache);
|
|
24
|
+
~ChargedCache() override = default;
|
|
25
|
+
|
|
26
|
+
Status Insert(const Slice& key, void* value, size_t charge, DeleterFn deleter,
|
|
27
|
+
Handle** handle, Priority priority) override;
|
|
28
|
+
Status Insert(const Slice& key, void* value, const CacheItemHelper* helper,
|
|
29
|
+
size_t charge, Handle** handle = nullptr,
|
|
30
|
+
Priority priority = Priority::LOW) override;
|
|
31
|
+
|
|
32
|
+
Cache::Handle* Lookup(const Slice& key, Statistics* stats) override;
|
|
33
|
+
Cache::Handle* Lookup(const Slice& key, const CacheItemHelper* helper,
|
|
34
|
+
const CreateCallback& create_cb, Priority priority,
|
|
35
|
+
bool wait, Statistics* stats = nullptr) override;
|
|
36
|
+
|
|
37
|
+
bool Release(Cache::Handle* handle, bool useful,
|
|
38
|
+
bool erase_if_last_ref = false) override;
|
|
39
|
+
bool Release(Cache::Handle* handle, bool erase_if_last_ref = false) override;
|
|
40
|
+
|
|
41
|
+
void Erase(const Slice& key) override;
|
|
42
|
+
void EraseUnRefEntries() override;
|
|
43
|
+
|
|
44
|
+
static const char* kClassName() { return "ChargedCache"; }
|
|
45
|
+
const char* Name() const override { return kClassName(); }
|
|
46
|
+
|
|
47
|
+
uint64_t NewId() override { return cache_->NewId(); }
|
|
48
|
+
|
|
49
|
+
void SetCapacity(size_t capacity) override;
|
|
50
|
+
|
|
51
|
+
void SetStrictCapacityLimit(bool strict_capacity_limit) override {
|
|
52
|
+
cache_->SetStrictCapacityLimit(strict_capacity_limit);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
bool HasStrictCapacityLimit() const override {
|
|
56
|
+
return cache_->HasStrictCapacityLimit();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
void* Value(Cache::Handle* handle) override { return cache_->Value(handle); }
|
|
60
|
+
|
|
61
|
+
bool IsReady(Cache::Handle* handle) override {
|
|
62
|
+
return cache_->IsReady(handle);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
void Wait(Cache::Handle* handle) override { cache_->Wait(handle); }
|
|
66
|
+
|
|
67
|
+
void WaitAll(std::vector<Handle*>& handles) override {
|
|
68
|
+
cache_->WaitAll(handles);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
bool Ref(Cache::Handle* handle) override { return cache_->Ref(handle); }
|
|
72
|
+
|
|
73
|
+
size_t GetCapacity() const override { return cache_->GetCapacity(); }
|
|
74
|
+
|
|
75
|
+
size_t GetUsage() const override { return cache_->GetUsage(); }
|
|
76
|
+
|
|
77
|
+
size_t GetUsage(Cache::Handle* handle) const override {
|
|
78
|
+
return cache_->GetUsage(handle);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
size_t GetPinnedUsage() const override { return cache_->GetPinnedUsage(); }
|
|
82
|
+
|
|
83
|
+
size_t GetCharge(Cache::Handle* handle) const override {
|
|
84
|
+
return cache_->GetCharge(handle);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
Cache::DeleterFn GetDeleter(Cache::Handle* handle) const override {
|
|
88
|
+
return cache_->GetDeleter(handle);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void ApplyToAllEntries(
|
|
92
|
+
const std::function<void(const Slice& key, void* value, size_t charge,
|
|
93
|
+
Cache::DeleterFn deleter)>& callback,
|
|
94
|
+
const Cache::ApplyToAllEntriesOptions& opts) override {
|
|
95
|
+
cache_->ApplyToAllEntries(callback, opts);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
void ApplyToAllCacheEntries(void (*callback)(void* value, size_t charge),
|
|
99
|
+
bool thread_safe) override {
|
|
100
|
+
cache_->ApplyToAllCacheEntries(callback, thread_safe);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
std::string GetPrintableOptions() const override {
|
|
104
|
+
return cache_->GetPrintableOptions();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
void DisownData() override { return cache_->DisownData(); }
|
|
108
|
+
|
|
109
|
+
inline Cache* GetCache() const { return cache_.get(); }
|
|
110
|
+
|
|
111
|
+
inline ConcurrentCacheReservationManager* TEST_GetCacheReservationManager()
|
|
112
|
+
const {
|
|
113
|
+
return cache_res_mgr_.get();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private:
|
|
117
|
+
std::shared_ptr<Cache> cache_;
|
|
118
|
+
std::shared_ptr<ConcurrentCacheReservationManager> cache_res_mgr_;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
} // namespace ROCKSDB_NAMESPACE
|