@nxtedition/rocksdb 7.0.24 → 7.0.27
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 +12 -3
- package/deps/rocksdb/rocksdb/CMakeLists.txt +5 -0
- package/deps/rocksdb/rocksdb/Makefile +6 -2
- package/deps/rocksdb/rocksdb/TARGETS +14 -0
- package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +4 -1
- package/deps/rocksdb/rocksdb/cache/cache_helpers.h +20 -0
- package/deps/rocksdb/rocksdb/cache/cache_reservation_manager_test.cc +2 -2
- package/deps/rocksdb/rocksdb/cache/cache_test.cc +44 -31
- package/deps/rocksdb/rocksdb/cache/clock_cache.cc +491 -722
- package/deps/rocksdb/rocksdb/cache/clock_cache.h +468 -2
- package/deps/rocksdb/rocksdb/cache/compressed_secondary_cache.cc +1 -1
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +51 -52
- package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +28 -16
- package/deps/rocksdb/rocksdb/cache/lru_cache.cc +12 -1
- package/deps/rocksdb/rocksdb/cache/lru_cache.h +1 -0
- package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +170 -36
- package/deps/rocksdb/rocksdb/db/blob/blob_file_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.cc +63 -36
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader.h +4 -6
- package/deps/rocksdb/rocksdb/db/blob/blob_file_reader_test.cc +57 -38
- package/deps/rocksdb/rocksdb/db/blob/blob_read_request.h +58 -0
- package/deps/rocksdb/rocksdb/db/blob/blob_source.cc +164 -74
- package/deps/rocksdb/rocksdb/db/blob/blob_source.h +42 -29
- package/deps/rocksdb/rocksdb/db/blob/blob_source_test.cc +419 -62
- package/deps/rocksdb/rocksdb/db/blob/db_blob_basic_test.cc +208 -8
- package/deps/rocksdb/rocksdb/db/c.cc +68 -0
- package/deps/rocksdb/rocksdb/db/c_test.c +95 -2
- package/deps/rocksdb/rocksdb/db/column_family.cc +12 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +92 -15
- package/deps/rocksdb/rocksdb/db/compaction/compaction.h +76 -4
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +52 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +30 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator_test.cc +126 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +203 -1584
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +93 -26
- package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +87 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +314 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +328 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +32 -6
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +4 -1
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +7 -3
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +174 -33
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +474 -7
- package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +5 -2
- package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +825 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.cc +46 -0
- package/deps/rocksdb/rocksdb/db/compaction/compaction_state.h +42 -0
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.cc +223 -0
- package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +255 -0
- package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +1253 -0
- package/deps/rocksdb/rocksdb/db/corruption_test.cc +32 -8
- package/deps/rocksdb/rocksdb/db/db_basic_test.cc +3 -1
- package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +13 -8
- package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +376 -0
- package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +103 -78
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +4 -6
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +0 -8
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +10 -3
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.cc +21 -6
- package/deps/rocksdb/rocksdb/db/db_impl/db_impl_secondary.h +19 -1
- package/deps/rocksdb/rocksdb/db/db_iter.cc +91 -14
- package/deps/rocksdb/rocksdb/db/db_iter.h +5 -0
- package/deps/rocksdb/rocksdb/db/db_kv_checksum_test.cc +33 -0
- package/deps/rocksdb/rocksdb/db/db_properties_test.cc +79 -0
- package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +2 -0
- package/deps/rocksdb/rocksdb/db/db_test2.cc +1 -1
- package/deps/rocksdb/rocksdb/db/db_wal_test.cc +5 -2
- package/deps/rocksdb/rocksdb/db/db_with_timestamp_basic_test.cc +185 -0
- package/deps/rocksdb/rocksdb/db/dbformat.cc +1 -4
- package/deps/rocksdb/rocksdb/db/dbformat.h +2 -8
- package/deps/rocksdb/rocksdb/db/internal_stats.cc +71 -29
- package/deps/rocksdb/rocksdb/db/internal_stats.h +160 -5
- package/deps/rocksdb/rocksdb/db/log_reader.cc +29 -3
- package/deps/rocksdb/rocksdb/db/log_reader.h +12 -3
- package/deps/rocksdb/rocksdb/db/repair_test.cc +1 -3
- package/deps/rocksdb/rocksdb/db/version_edit.cc +6 -0
- package/deps/rocksdb/rocksdb/db/version_set.cc +93 -129
- package/deps/rocksdb/rocksdb/db/version_set.h +4 -4
- package/deps/rocksdb/rocksdb/db/version_set_sync_and_async.h +2 -2
- package/deps/rocksdb/rocksdb/db/version_set_test.cc +42 -35
- package/deps/rocksdb/rocksdb/db/write_batch.cc +10 -2
- package/deps/rocksdb/rocksdb/db/write_batch_internal.h +4 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.cc +10 -4
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +3 -3
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +3 -2
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +4 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_shared_state.h +5 -1
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +140 -8
- package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.h +12 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.cc +46 -7
- package/deps/rocksdb/rocksdb/db_stress_tool/multi_ops_txns_stress.h +7 -0
- package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +27 -7
- package/deps/rocksdb/rocksdb/env/composite_env_wrapper.h +8 -0
- package/deps/rocksdb/rocksdb/env/env_posix.cc +14 -0
- package/deps/rocksdb/rocksdb/env/env_test.cc +130 -1
- package/deps/rocksdb/rocksdb/env/fs_posix.cc +7 -1
- package/deps/rocksdb/rocksdb/env/io_posix.cc +18 -50
- package/deps/rocksdb/rocksdb/env/io_posix.h +53 -6
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.cc +8 -10
- package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +3 -7
- package/deps/rocksdb/rocksdb/file/prefetch_test.cc +239 -259
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +84 -19
- package/deps/rocksdb/rocksdb/file/random_access_file_reader.h +24 -4
- package/deps/rocksdb/rocksdb/include/rocksdb/advanced_options.h +1 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/c.h +31 -1
- package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +11 -7
- package/deps/rocksdb/rocksdb/include/rocksdb/compaction_job_stats.h +2 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/db.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/env.h +20 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/options.h +37 -13
- package/deps/rocksdb/rocksdb/include/rocksdb/perf_context.h +7 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +14 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/threadpool.h +9 -0
- package/deps/rocksdb/rocksdb/include/rocksdb/write_batch.h +13 -13
- package/deps/rocksdb/rocksdb/logging/auto_roll_logger.cc +12 -2
- package/deps/rocksdb/rocksdb/monitoring/perf_context.cc +38 -0
- package/deps/rocksdb/rocksdb/monitoring/statistics.cc +7 -1
- package/deps/rocksdb/rocksdb/port/win/env_win.cc +17 -0
- package/deps/rocksdb/rocksdb/port/win/env_win.h +8 -0
- package/deps/rocksdb/rocksdb/port/win/io_win.cc +6 -3
- package/deps/rocksdb/rocksdb/src.mk +5 -0
- package/deps/rocksdb/rocksdb/table/block_based/block.h +1 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_builder.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_iterator.cc +5 -2
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +15 -12
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.cc +5 -4
- package/deps/rocksdb/rocksdb/table/block_based/block_prefetcher.h +2 -1
- package/deps/rocksdb/rocksdb/table/block_based/filter_policy.cc +1 -1
- package/deps/rocksdb/rocksdb/table/block_based/partitioned_index_iterator.cc +4 -4
- package/deps/rocksdb/rocksdb/table/block_fetcher.cc +1 -2
- package/deps/rocksdb/rocksdb/table/get_context.cc +1 -0
- package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +1 -2
- package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +24 -4
- package/deps/rocksdb/rocksdb/util/async_file_reader.cc +1 -1
- package/deps/rocksdb/rocksdb/util/compression.h +2 -0
- package/deps/rocksdb/rocksdb/util/thread_list_test.cc +18 -1
- package/deps/rocksdb/rocksdb/util/threadpool_imp.cc +67 -4
- package/deps/rocksdb/rocksdb/util/threadpool_imp.h +8 -0
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +15 -12
- package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -2
- package/deps/rocksdb/rocksdb/utilities/simulator_cache/sim_cache_test.cc +1 -1
- package/deps/rocksdb/rocksdb.gyp +5 -1
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
#include "cache/cache_helpers.h"
|
|
11
11
|
#include "cache/cache_key.h"
|
|
12
12
|
#include "db/blob/blob_file_cache.h"
|
|
13
|
+
#include "db/blob/blob_read_request.h"
|
|
13
14
|
#include "rocksdb/cache.h"
|
|
14
15
|
#include "rocksdb/rocksdb_namespace.h"
|
|
15
16
|
#include "table/block_based/cachable_entry.h"
|
|
@@ -37,7 +38,7 @@ class BlobSource {
|
|
|
37
38
|
|
|
38
39
|
~BlobSource();
|
|
39
40
|
|
|
40
|
-
// Read a blob from the underlying cache or
|
|
41
|
+
// Read a blob from the underlying cache or one blob file.
|
|
41
42
|
//
|
|
42
43
|
// If successful, returns ok and sets "*value" to the newly retrieved
|
|
43
44
|
// uncompressed blob. If there was an error while fetching the blob, sets
|
|
@@ -52,25 +53,44 @@ class BlobSource {
|
|
|
52
53
|
FilePrefetchBuffer* prefetch_buffer, PinnableSlice* value,
|
|
53
54
|
uint64_t* bytes_read);
|
|
54
55
|
|
|
55
|
-
// Read multiple blobs from the underlying cache or
|
|
56
|
+
// Read multiple blobs from the underlying cache or blob file(s).
|
|
56
57
|
//
|
|
57
|
-
// If successful, returns ok and sets the elements of
|
|
58
|
-
// retrieved uncompressed blobs. If there was an error while
|
|
59
|
-
// blobs, sets its
|
|
60
|
-
// a non-ok status.
|
|
58
|
+
// If successful, returns ok and sets "result" in the elements of "blob_reqs"
|
|
59
|
+
// to the newly retrieved uncompressed blobs. If there was an error while
|
|
60
|
+
// fetching one of blobs, sets its "result" to empty and sets its
|
|
61
|
+
// corresponding "status" to a non-ok status.
|
|
61
62
|
//
|
|
62
63
|
// Note:
|
|
63
|
-
// -
|
|
64
|
+
// - The main difference between this function and MultiGetBlobFromOneFile is
|
|
65
|
+
// that this function can read multiple blobs from multiple blob files.
|
|
66
|
+
//
|
|
64
67
|
// - For consistency, whether the blob is found in the cache or on disk, sets
|
|
65
68
|
// "*bytes_read" to the total size of on-disk (possibly compressed) blob
|
|
66
69
|
// records.
|
|
67
|
-
void MultiGetBlob(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
void MultiGetBlob(const ReadOptions& read_options,
|
|
71
|
+
autovector<BlobFileReadRequests>& blob_reqs,
|
|
72
|
+
uint64_t* bytes_read);
|
|
73
|
+
|
|
74
|
+
// Read multiple blobs from the underlying cache or one blob file.
|
|
75
|
+
//
|
|
76
|
+
// If successful, returns ok and sets "result" in the elements of "blob_reqs"
|
|
77
|
+
// to the newly retrieved uncompressed blobs. If there was an error while
|
|
78
|
+
// fetching one of blobs, sets its "result" to empty and sets its
|
|
79
|
+
// corresponding "status" to a non-ok status.
|
|
80
|
+
//
|
|
81
|
+
// Note:
|
|
82
|
+
// - The main difference between this function and MultiGetBlob is that this
|
|
83
|
+
// function is only used for the case where the demanded blobs are stored in
|
|
84
|
+
// one blob file. MultiGetBlob will call this function multiple times if the
|
|
85
|
+
// demanded blobs are stored in multiple blob files.
|
|
86
|
+
//
|
|
87
|
+
// - For consistency, whether the blob is found in the cache or on disk, sets
|
|
88
|
+
// "*bytes_read" to the total size of on-disk (possibly compressed) blob
|
|
89
|
+
// records.
|
|
90
|
+
void MultiGetBlobFromOneFile(const ReadOptions& read_options,
|
|
91
|
+
uint64_t file_number, uint64_t file_size,
|
|
92
|
+
autovector<BlobReadRequest>& blob_reqs,
|
|
93
|
+
uint64_t* bytes_read);
|
|
74
94
|
|
|
75
95
|
inline Status GetBlobFileReader(
|
|
76
96
|
uint64_t blob_file_number,
|
|
@@ -84,12 +104,18 @@ class BlobSource {
|
|
|
84
104
|
|
|
85
105
|
private:
|
|
86
106
|
Status GetBlobFromCache(const Slice& cache_key,
|
|
87
|
-
|
|
107
|
+
CacheHandleGuard<std::string>* blob) const;
|
|
88
108
|
|
|
89
109
|
Status PutBlobIntoCache(const Slice& cache_key,
|
|
90
|
-
|
|
110
|
+
CacheHandleGuard<std::string>* cached_blob,
|
|
91
111
|
PinnableSlice* blob) const;
|
|
92
112
|
|
|
113
|
+
Cache::Handle* GetEntryFromCache(const Slice& key) const;
|
|
114
|
+
|
|
115
|
+
Status InsertEntryIntoCache(const Slice& key, std::string* value,
|
|
116
|
+
size_t charge, Cache::Handle** cache_handle,
|
|
117
|
+
Cache::Priority priority) const;
|
|
118
|
+
|
|
93
119
|
inline CacheKey GetCacheKey(uint64_t file_number, uint64_t file_size,
|
|
94
120
|
uint64_t offset) const {
|
|
95
121
|
OffsetableCacheKey base_cache_key(db_id_, db_session_id_, file_number,
|
|
@@ -97,19 +123,6 @@ class BlobSource {
|
|
|
97
123
|
return base_cache_key.WithOffset(offset);
|
|
98
124
|
}
|
|
99
125
|
|
|
100
|
-
inline Cache::Handle* GetEntryFromCache(const Slice& key) const {
|
|
101
|
-
return blob_cache_->Lookup(key, statistics_);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
inline Status InsertEntryIntoCache(const Slice& key, std::string* value,
|
|
105
|
-
size_t charge,
|
|
106
|
-
Cache::Handle** cache_handle,
|
|
107
|
-
Cache::Priority priority) const {
|
|
108
|
-
return blob_cache_->Insert(key, value, charge,
|
|
109
|
-
&DeleteCacheEntry<std::string>, cache_handle,
|
|
110
|
-
priority);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
126
|
const std::string& db_id_;
|
|
114
127
|
const std::string& db_session_id_;
|
|
115
128
|
|