Add NewFileChecksumGenCrc32cFactory to file checksum (#6688)
Summary: Add NewFileChecksumGenCrc32cFactory to file checksum public interface such that applications can use the build in crc32 checksum factory. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6688 Test Plan: pass make asan_check Reviewed By: riversand963 Differential Revision: D21006859 Pulled By: zhichao-cao fbshipit-source-id: ea8a45196a8b77c310728ab05f6cc0f49f3baef0
This commit is contained in:
parent
79f39ff931
commit
2b7ee8e9c6
@ -1,5 +1,9 @@
|
||||
# Rocksdb Change Log
|
||||
## Unreleased
|
||||
|
||||
### Public API Change
|
||||
* Add NewFileChecksumGenCrc32cFactory to the file checksum public API, such that the builtin Crc32c based file checksum generator factory can be used by applications.
|
||||
|
||||
### New Features
|
||||
* Log CompactOnDeletionCollectorFactory window_size and deletion_trigger parameters in the info log file for troubleshooting purposes.
|
||||
|
||||
|
@ -97,4 +97,10 @@ class FileChecksumList {
|
||||
// Create a new file checksum list.
|
||||
extern FileChecksumList* NewFileChecksumList();
|
||||
|
||||
// Return a shared_ptr of the builtin Crc32 based file checksum generatory
|
||||
// factory object, which can be shared to create the Crc32c based checksum
|
||||
// generator object.
|
||||
extern std::shared_ptr<FileChecksumGenFactory>
|
||||
GetFileChecksumGenCrc32cFactory();
|
||||
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
@ -344,9 +344,7 @@ TEST_F(LdbCmdTest, DumpFileChecksumCRC32) {
|
||||
Options opts;
|
||||
opts.env = env.get();
|
||||
opts.create_if_missing = true;
|
||||
FileChecksumGenCrc32cFactory* file_checksum_gen_factory =
|
||||
new FileChecksumGenCrc32cFactory();
|
||||
opts.file_checksum_gen_factory.reset(file_checksum_gen_factory);
|
||||
opts.file_checksum_gen_factory = GetFileChecksumGenCrc32cFactory();
|
||||
|
||||
DB* db = nullptr;
|
||||
std::string dbname = test::TmpDir();
|
||||
|
@ -77,4 +77,10 @@ FileChecksumList* NewFileChecksumList() {
|
||||
return checksum_list;
|
||||
}
|
||||
|
||||
std::shared_ptr<FileChecksumGenFactory> GetFileChecksumGenCrc32cFactory() {
|
||||
static std::shared_ptr<FileChecksumGenFactory> default_crc32c_gen_factory(
|
||||
new FileChecksumGenCrc32cFactory());
|
||||
return default_crc32c_gen_factory;
|
||||
}
|
||||
|
||||
} // namespace ROCKSDB_NAMESPACE
|
||||
|
Loading…
Reference in New Issue
Block a user