rocksdb/utilities
Andrew Kryczka b97685aef6 fix backup engine when latest backup corrupt
Summary:
Backup engine is intentionally openable even when some backups are corrupt. Previously the engine could write new backups as long as the most recent backup wasn't corrupt. This PR makes the backup engine able to create new backups even when the most recent one is corrupt.

We now maintain two ID instance variables:

- `latest_backup_id_` is used when creating backup to choose the new ID
- `latest_valid_backup_id_` is used when restoring latest backup since we want most recent valid one
Closes https://github.com/facebook/rocksdb/pull/2804

Differential Revision: D5734148

Pulled By: ajkr

fbshipit-source-id: db440707b31df2c7b084188aa5f6368449e10bcf
2017-08-31 15:41:49 -07:00
..
backupable fix backup engine when latest backup corrupt 2017-08-31 15:41:49 -07:00
blob_db make blob file close synchronous 2017-08-25 10:41:49 -07:00
cassandra garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
checkpoint Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_filters Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience Change RocksDB License 2017-07-15 16:11:23 -07:00
date_tiered Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
document Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
geodb Change RocksDB License 2017-07-15 16:11:23 -07:00
leveldb_options Change RocksDB License 2017-07-15 16:11:23 -07:00
lua CodeMod: Prefer ADD_FAILURE() over EXPECT_TRUE(false), et cetera 2017-07-16 21:26:02 -07:00
memory Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators allow nullptr Slice only as sentinel 2017-08-23 10:56:06 -07:00
option_change_migration Change RocksDB License 2017-07-15 16:11:23 -07:00
options Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
persistent_cache block_cache_tier: fix gcc-7 warnings 2017-08-10 11:58:53 -07:00
redis Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
simulator_cache CacheActivityLogger, component to log cache activity into a file 2017-07-28 12:36:48 -07:00
spatialdb Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collectors Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
transactions Add more unit test to write_prepared txns 2017-08-31 09:41:27 -07:00
ttl Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
write_batch_with_index Use PinnableSlice in Transactions 2017-08-23 10:11:45 -07:00
col_buf_decoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_decoder.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
col_buf_encoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_encoder.h Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_exp.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_util.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
column_aware_encoding_util.h Change RocksDB License 2017-07-15 16:11:23 -07:00
debug.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados.cc Remove double buffering on RandomRead on Windows. 2017-04-27 12:30:05 -07:00
env_librados.md Add EnvLibrados - RocksDB Env of RADOS (#1222) 2016-07-21 11:16:34 -07:00
env_mirror_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_mirror.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators.h garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
object_registry_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
util_merge_operators_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00