Skip to content

Commit 62df437

Browse files
RocksDB 7.10.2 version upgrade
1 parent 9968925 commit 62df437

File tree

6 files changed

+149
-92
lines changed

6 files changed

+149
-92
lines changed

cmake/CompileRocksDB.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# FindRocksDB
22

3-
find_package(RocksDB 7.7.3)
3+
find_package(RocksDB 7.10.2)
44

55
include(ExternalProject)
66

@@ -52,8 +52,8 @@ if(ROCKSDB_FOUND)
5252
${BINARY_DIR}/librocksdb.a)
5353
else()
5454
ExternalProject_Add(rocksdb
55-
URL https://github.com/facebook/rocksdb/archive/refs/tags/v7.7.3.tar.gz
56-
URL_HASH SHA256=b8ac9784a342b2e314c821f6d701148912215666ac5e9bdbccd93cf3767cb611
55+
URL https://github.com/facebook/rocksdb/archive/refs/tags/v7.10.2.tar.gz
56+
URL_HASH SHA256=4619ae7308cd3d11cdd36f0bfad3fb03a1ad399ca333f192b77b6b95b08e2f78
5757
CMAKE_ARGS ${RocksDB_CMAKE_ARGS}
5858
BUILD_BYPRODUCTS <BINARY_DIR>/librocksdb.a
5959
INSTALL_COMMAND ""

documentation/sphinx/source/release-notes/release-notes-710.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Release Notes
1313
* Fixed unnecessary transaction system recovery when excluding the servers that are already excluded/failed. `(PR #9809) <https://github.com/apple/foundationdb/pull/9809>`_
1414
* Fixed the exclusion of stateless processes by skipping the free capacity check. `(PR #9789) <https://github.com/apple/foundationdb/pull/9789>`_
1515
* Fixed an issue where the new worker cannot get ServerDBInfo update. `(PR #9778) <https://github.com/apple/foundationdb/pull/9778>`_
16+
* Adding rocksdb bloom filter knobs. `(PR #9770) <https://github.com/apple/foundationdb/pull/9770>`_
17+
* RocksDB 7.10.2 version upgrade. `(PR #9829) <https://github.com/apple/foundationdb/pull/9829>`_
1618

1719
7.1.29
1820
======

fdbserver/KeyValueStoreRocksDB.actor.cpp

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@
6969

7070
#ifdef SSD_ROCKSDB_EXPERIMENTAL
7171

72-
// Enforcing rocksdb version to be 7.7.3.
73-
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 7 && ROCKSDB_PATCH == 3),
74-
"Unsupported rocksdb version. Update the rocksdb to 7.7.3 version");
72+
// Enforcing rocksdb version to be 7.10.2
73+
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 10 && ROCKSDB_PATCH == 2),
74+
"Unsupported rocksdb version. Update the rocksdb to 7.10.2 version");
7575

7676
namespace {
7777
using rocksdb::BackgroundErrorReason;
@@ -360,10 +360,14 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
360360

361361
for (const LiveFileMetaData& fileMetaData : rocksCF.sstFiles) {
362362
rocksdb::LiveFileMetaData liveFileMetaData;
363-
liveFileMetaData.size = fileMetaData.size;
364-
liveFileMetaData.name = fileMetaData.name;
363+
liveFileMetaData.relative_filename = fileMetaData.relative_filename;
364+
liveFileMetaData.directory = fileMetaData.directory;
365365
liveFileMetaData.file_number = fileMetaData.file_number;
366-
liveFileMetaData.db_path = fileMetaData.db_path;
366+
liveFileMetaData.file_type = static_cast<rocksdb::FileType>(fileMetaData.file_type);
367+
liveFileMetaData.size = fileMetaData.size;
368+
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
369+
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
370+
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
367371
liveFileMetaData.smallest_seqno = fileMetaData.smallest_seqno;
368372
liveFileMetaData.largest_seqno = fileMetaData.largest_seqno;
369373
liveFileMetaData.smallestkey = fileMetaData.smallestkey;
@@ -372,12 +376,12 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
372376
liveFileMetaData.being_compacted = fileMetaData.being_compacted;
373377
liveFileMetaData.num_entries = fileMetaData.num_entries;
374378
liveFileMetaData.num_deletions = fileMetaData.num_deletions;
375-
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
376379
liveFileMetaData.oldest_blob_file_number = fileMetaData.oldest_blob_file_number;
377380
liveFileMetaData.oldest_ancester_time = fileMetaData.oldest_ancester_time;
378381
liveFileMetaData.file_creation_time = fileMetaData.file_creation_time;
379-
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
380-
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
382+
liveFileMetaData.epoch_number = fileMetaData.epoch_number;
383+
liveFileMetaData.name = fileMetaData.name;
384+
liveFileMetaData.db_path = fileMetaData.db_path;
381385
liveFileMetaData.column_family_name = fileMetaData.column_family_name;
382386
liveFileMetaData.level = fileMetaData.level;
383387
metaData.files.push_back(liveFileMetaData);
@@ -391,10 +395,14 @@ void populateMetaData(CheckpointMetaData* checkpoint, const rocksdb::ExportImpor
391395
rocksCF.dbComparatorName = metaData.db_comparator_name;
392396
for (const rocksdb::LiveFileMetaData& fileMetaData : metaData.files) {
393397
LiveFileMetaData liveFileMetaData;
394-
liveFileMetaData.size = fileMetaData.size;
395-
liveFileMetaData.name = fileMetaData.name;
398+
liveFileMetaData.relative_filename = fileMetaData.relative_filename;
399+
liveFileMetaData.directory = fileMetaData.directory;
396400
liveFileMetaData.file_number = fileMetaData.file_number;
397-
liveFileMetaData.db_path = fileMetaData.db_path;
401+
liveFileMetaData.file_type = static_cast<int>(fileMetaData.file_type);
402+
liveFileMetaData.size = fileMetaData.size;
403+
liveFileMetaData.temperature = static_cast<uint8_t>(fileMetaData.temperature);
404+
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
405+
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
398406
liveFileMetaData.smallest_seqno = fileMetaData.smallest_seqno;
399407
liveFileMetaData.largest_seqno = fileMetaData.largest_seqno;
400408
liveFileMetaData.smallestkey = fileMetaData.smallestkey;
@@ -403,12 +411,12 @@ void populateMetaData(CheckpointMetaData* checkpoint, const rocksdb::ExportImpor
403411
liveFileMetaData.being_compacted = fileMetaData.being_compacted;
404412
liveFileMetaData.num_entries = fileMetaData.num_entries;
405413
liveFileMetaData.num_deletions = fileMetaData.num_deletions;
406-
liveFileMetaData.temperature = static_cast<uint8_t>(fileMetaData.temperature);
407414
liveFileMetaData.oldest_blob_file_number = fileMetaData.oldest_blob_file_number;
408415
liveFileMetaData.oldest_ancester_time = fileMetaData.oldest_ancester_time;
409416
liveFileMetaData.file_creation_time = fileMetaData.file_creation_time;
410-
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
411-
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
417+
liveFileMetaData.epoch_number = fileMetaData.epoch_number;
418+
liveFileMetaData.name = fileMetaData.name;
419+
liveFileMetaData.db_path = fileMetaData.db_path;
412420
liveFileMetaData.column_family_name = fileMetaData.column_family_name;
413421
liveFileMetaData.level = fileMetaData.level;
414422
rocksCF.sstFiles.push_back(liveFileMetaData);
@@ -2714,6 +2722,14 @@ TEST_CASE("noSim/fdbserver/KeyValueStoreRocksDB/CheckpointRestoreKeyValues") {
27142722
return Void();
27152723
}
27162724

2725+
TEST_CASE("noSim/fdbserver/KeyValueStoreRocksDB/RocksDBTypes") {
2726+
// If the following assertion fails, update SstFileMetaData and LiveFileMetaData in RocksDBCheckpointUtils.actor.h
2727+
// to be the same as rocksdb::SstFileMetaData and rocksdb::LiveFileMetaData.
2728+
ASSERT_EQ(sizeof(rocksdb::LiveFileMetaData), 192);
2729+
ASSERT_EQ(sizeof(rocksdb::ExportImportFilesMetaData), 32);
2730+
return Void();
2731+
}
2732+
27172733
} // namespace
27182734

27192735
#endif // SSD_ROCKSDB_EXPERIMENTAL

fdbserver/KeyValueStoreShardedRocksDB.actor.cpp

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444

4545
#ifdef SSD_ROCKSDB_EXPERIMENTAL
4646

47-
// Enforcing rocksdb version to be 7.7.3.
48-
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 7 && ROCKSDB_PATCH == 3),
49-
"Unsupported rocksdb version. Update the rocksdb to 7.7.3 version");
47+
// Enforcing rocksdb version to be 7.10.2
48+
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 10 && ROCKSDB_PATCH == 2),
49+
"Unsupported rocksdb version. Update the rocksdb to 7.10.2 version");
5050

5151
const std::string rocksDataFolderSuffix = "-data";
5252
const std::string METADATA_SHARD_ID = "kvs-metadata";
@@ -168,10 +168,14 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
168168

169169
for (const LiveFileMetaData& fileMetaData : rocksCF.sstFiles) {
170170
rocksdb::LiveFileMetaData liveFileMetaData;
171-
liveFileMetaData.size = fileMetaData.size;
172-
liveFileMetaData.name = fileMetaData.name;
171+
liveFileMetaData.relative_filename = fileMetaData.relative_filename;
172+
liveFileMetaData.directory = fileMetaData.directory;
173173
liveFileMetaData.file_number = fileMetaData.file_number;
174-
liveFileMetaData.db_path = fileMetaData.db_path;
174+
liveFileMetaData.file_type = static_cast<rocksdb::FileType>(fileMetaData.file_type);
175+
liveFileMetaData.size = fileMetaData.size;
176+
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
177+
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
178+
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
175179
liveFileMetaData.smallest_seqno = fileMetaData.smallest_seqno;
176180
liveFileMetaData.largest_seqno = fileMetaData.largest_seqno;
177181
liveFileMetaData.smallestkey = fileMetaData.smallestkey;
@@ -180,12 +184,12 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
180184
liveFileMetaData.being_compacted = fileMetaData.being_compacted;
181185
liveFileMetaData.num_entries = fileMetaData.num_entries;
182186
liveFileMetaData.num_deletions = fileMetaData.num_deletions;
183-
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
184187
liveFileMetaData.oldest_blob_file_number = fileMetaData.oldest_blob_file_number;
185188
liveFileMetaData.oldest_ancester_time = fileMetaData.oldest_ancester_time;
186189
liveFileMetaData.file_creation_time = fileMetaData.file_creation_time;
187-
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
188-
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
190+
liveFileMetaData.epoch_number = fileMetaData.epoch_number;
191+
liveFileMetaData.name = fileMetaData.name;
192+
liveFileMetaData.db_path = fileMetaData.db_path;
189193
liveFileMetaData.column_family_name = fileMetaData.column_family_name;
190194
liveFileMetaData.level = fileMetaData.level;
191195
metaData.files.push_back(liveFileMetaData);
@@ -199,10 +203,14 @@ void populateMetaData(CheckpointMetaData* checkpoint, const rocksdb::ExportImpor
199203
rocksCF.dbComparatorName = metaData.db_comparator_name;
200204
for (const rocksdb::LiveFileMetaData& fileMetaData : metaData.files) {
201205
LiveFileMetaData liveFileMetaData;
202-
liveFileMetaData.size = fileMetaData.size;
203-
liveFileMetaData.name = fileMetaData.name;
206+
liveFileMetaData.relative_filename = fileMetaData.relative_filename;
207+
liveFileMetaData.directory = fileMetaData.directory;
204208
liveFileMetaData.file_number = fileMetaData.file_number;
205-
liveFileMetaData.db_path = fileMetaData.db_path;
209+
liveFileMetaData.file_type = static_cast<int>(fileMetaData.file_type);
210+
liveFileMetaData.size = fileMetaData.size;
211+
liveFileMetaData.temperature = static_cast<uint8_t>(fileMetaData.temperature);
212+
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
213+
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
206214
liveFileMetaData.smallest_seqno = fileMetaData.smallest_seqno;
207215
liveFileMetaData.largest_seqno = fileMetaData.largest_seqno;
208216
liveFileMetaData.smallestkey = fileMetaData.smallestkey;
@@ -211,12 +219,12 @@ void populateMetaData(CheckpointMetaData* checkpoint, const rocksdb::ExportImpor
211219
liveFileMetaData.being_compacted = fileMetaData.being_compacted;
212220
liveFileMetaData.num_entries = fileMetaData.num_entries;
213221
liveFileMetaData.num_deletions = fileMetaData.num_deletions;
214-
liveFileMetaData.temperature = static_cast<uint8_t>(fileMetaData.temperature);
215222
liveFileMetaData.oldest_blob_file_number = fileMetaData.oldest_blob_file_number;
216223
liveFileMetaData.oldest_ancester_time = fileMetaData.oldest_ancester_time;
217224
liveFileMetaData.file_creation_time = fileMetaData.file_creation_time;
218-
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
219-
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
225+
liveFileMetaData.epoch_number = fileMetaData.epoch_number;
226+
liveFileMetaData.name = fileMetaData.name;
227+
liveFileMetaData.db_path = fileMetaData.db_path;
220228
liveFileMetaData.column_family_name = fileMetaData.column_family_name;
221229
liveFileMetaData.level = fileMetaData.level;
222230
rocksCF.sstFiles.push_back(liveFileMetaData);

fdbserver/RocksDBCheckpointUtils.actor.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@
4747
FDB_DEFINE_BOOLEAN_PARAM(CheckpointAsKeyValues);
4848

4949
#ifdef SSD_ROCKSDB_EXPERIMENTAL
50-
// Enforcing rocksdb version to be 7.7.3.
51-
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 7 && ROCKSDB_PATCH == 3),
52-
"Unsupported rocksdb version. Update the rocksdb to 7.7.3 version");
50+
// Enforcing rocksdb version to be 7.10.2
51+
static_assert((ROCKSDB_MAJOR == 7 && ROCKSDB_MINOR == 10 && ROCKSDB_PATCH == 2),
52+
"Unsupported rocksdb version. Update the rocksdb to 7.10.2 version");
5353

5454
namespace {
5555

@@ -73,10 +73,14 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
7373

7474
for (const LiveFileMetaData& fileMetaData : rocksCF.sstFiles) {
7575
rocksdb::LiveFileMetaData liveFileMetaData;
76-
liveFileMetaData.size = fileMetaData.size;
77-
liveFileMetaData.name = fileMetaData.name;
76+
liveFileMetaData.relative_filename = fileMetaData.relative_filename;
77+
liveFileMetaData.directory = fileMetaData.directory;
7878
liveFileMetaData.file_number = fileMetaData.file_number;
79-
liveFileMetaData.db_path = fileMetaData.db_path;
79+
liveFileMetaData.file_type = static_cast<rocksdb::FileType>(fileMetaData.file_type);
80+
liveFileMetaData.size = fileMetaData.size;
81+
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
82+
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
83+
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
8084
liveFileMetaData.smallest_seqno = fileMetaData.smallest_seqno;
8185
liveFileMetaData.largest_seqno = fileMetaData.largest_seqno;
8286
liveFileMetaData.smallestkey = fileMetaData.smallestkey;
@@ -85,12 +89,12 @@ rocksdb::ExportImportFilesMetaData getMetaData(const CheckpointMetaData& checkpo
8589
liveFileMetaData.being_compacted = fileMetaData.being_compacted;
8690
liveFileMetaData.num_entries = fileMetaData.num_entries;
8791
liveFileMetaData.num_deletions = fileMetaData.num_deletions;
88-
liveFileMetaData.temperature = static_cast<rocksdb::Temperature>(fileMetaData.temperature);
8992
liveFileMetaData.oldest_blob_file_number = fileMetaData.oldest_blob_file_number;
9093
liveFileMetaData.oldest_ancester_time = fileMetaData.oldest_ancester_time;
9194
liveFileMetaData.file_creation_time = fileMetaData.file_creation_time;
92-
liveFileMetaData.file_checksum = fileMetaData.file_checksum;
93-
liveFileMetaData.file_checksum_func_name = fileMetaData.file_checksum_func_name;
95+
liveFileMetaData.epoch_number = fileMetaData.epoch_number;
96+
liveFileMetaData.name = fileMetaData.name;
97+
liveFileMetaData.db_path = fileMetaData.db_path;
9498
liveFileMetaData.column_family_name = fileMetaData.column_family_name;
9599
liveFileMetaData.level = fileMetaData.level;
96100
metaData.files.push_back(liveFileMetaData);

0 commit comments

Comments
 (0)