b923dc720b
Summary: BackupEngine requires computing table checksums twice when backing up table files to the `shared_checksum` directory. The repeated computation can be avoided by utilizing the db session id stored as a part of the table properties. Filenames of table files in the `shared_checksum` directory depend on the following conditions: 1. the naming scheme is `kOptionalChecksumAndDbSessionId`, 2. `db_session_id` is not empty, 3. checksum is available in the DB manifest. If 1,2,3 are satisfied, then the filenames will be of the form `<file_number>_<checksum>_<db_session_id>.sst`. If 1,2 are satisfied, then the filenames will be of the form `<file_number>_<db_session_id>.sst`. In all other cases, the filenames are of the form `<file_number>_<checksum>_<size>.sst`. Additionally, if `kOptionalChecksumAndDbSessionId` is used (and not falling back to `kChecksumAndFileSize`), the `<checksum>` appeared in the filenames is hexadecimally encoded, instead of being plain `uint32_t` value. Pull Request resolved: https://github.com/facebook/rocksdb/pull/7110 Test Plan: backupable_db_test and manual tests. Reviewed By: ajkr Differential Revision: D22508992 Pulled By: gg814 fbshipit-source-id: 5669f0ea9ad5a097f69f6d87aca4abba15032389 |
||
---|---|---|
.. | ||
lua | ||
backupable_db.h | ||
checkpoint.h | ||
convenience.h | ||
db_ttl.h | ||
debug.h | ||
env_librados.h | ||
env_mirror.h | ||
info_log_finder.h | ||
ldb_cmd_execute_result.h | ||
ldb_cmd.h | ||
leveldb_options.h | ||
memory_util.h | ||
object_registry.h | ||
optimistic_transaction_db.h | ||
option_change_migration.h | ||
options_util.h | ||
sim_cache.h | ||
stackable_db.h | ||
table_properties_collectors.h | ||
transaction_db_mutex.h | ||
transaction_db.h | ||
transaction.h | ||
utility_db.h | ||
write_batch_with_index.h |