From 4149d044cd3c30384e5f9a7ba5407eeac5244c71 Mon Sep 17 00:00:00 2001 From: Peter Dillinger Date: Fri, 17 Sep 2021 12:38:21 -0700 Subject: [PATCH] Change `SstFileMetaData::size` from `size_t` to `uint64_t` (#8926) Summary: Because even 32-bit systems can have large files This is a "change" that I don't want intermingled with an upcoming refactoring. Pull Request resolved: https://github.com/facebook/rocksdb/pull/8926 Test Plan: CI Reviewed By: zhichao-cao Differential Revision: D31020974 Pulled By: pdillinger fbshipit-source-id: ca9eb4510697df6f1f55e37b37730b88b1809a92 --- HISTORY.md | 1 + include/rocksdb/metadata.h | 2 +- tools/db_bench_tool.cc | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 18ff661b0..6e7a45fc8 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -27,6 +27,7 @@ ### Public API change * Remove obsolete implementation details FullKey and ParseFullKey from public API * Add a public API RateLimiter::GetTotalPendingRequests() for the total number of requests that are pending for bytes in the rate limiter. +* Change `SstFileMetaData::size` from `size_t` to `uint64_t`. * Made Statistics extend the Customizable class and added a CreateFromString method. Implementations of Statistics need to be registered with the ObjectRegistry and to implement a Name() method in order to be created via this method. * Extended `FlushJobInfo` and `CompactionJobInfo` in listener.h to provide information about the blob files generated by a flush/compaction and garbage collected during compaction in Integrated BlobDB. Added struct members `blob_file_addition_infos` and `blob_file_garbage_infos` that contain this information. * Extended parameter `output_file_names` of `CompactFiles` API to also include paths of the blob files generated by the compaction in Integrated BlobDB. diff --git a/include/rocksdb/metadata.h b/include/rocksdb/metadata.h index 57c8a842a..7d9cb6a5d 100644 --- a/include/rocksdb/metadata.h +++ b/include/rocksdb/metadata.h @@ -62,7 +62,7 @@ struct SstFileMetaData { file_checksum_func_name(_file_checksum_func_name) {} // File size in bytes. - size_t size; + uint64_t size; // The name of the file. std::string name; // The id of the file. diff --git a/tools/db_bench_tool.cc b/tools/db_bench_tool.cc index dc32c1075..09848baf2 100644 --- a/tools/db_bench_tool.cc +++ b/tools/db_bench_tool.cc @@ -5407,7 +5407,7 @@ class Benchmark { } if (levelMeta.level == 0) { for (auto& fileMeta : levelMeta.files) { - fprintf(stdout, "Level[%d]: %s(size: %" ROCKSDB_PRIszt " bytes)\n", + fprintf(stdout, "Level[%d]: %s(size: %" PRIi64 " bytes)\n", levelMeta.level, fileMeta.name.c_str(), fileMeta.size); } } else {