You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Kryczka
5d6005c780
Add WriteOptions::protection_bytes_per_key ( #10037 )
...
Summary:
Added an option, `WriteOptions::protection_bytes_per_key`, that controls how many bytes per key we use for integrity protection in `WriteBatch`. It takes effect when `WriteBatch::GetProtectionBytesPerKey() == 0`.
Currently the only supported value is eight. Invoking a user API with it set to any other nonzero value will result in `Status::NotSupported` returned to the user.
There is also a bug fix for integrity protection with `inplace_callback`, where we forgot to take into account the possible change in varint length when calculating KV checksum for the final encoded buffer.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/10037
Test Plan:
- Manual
- Set default value of `WriteOptions::protection_bytes_per_key` to eight and ran `make check -j24`
- Enabled in MyShadow for 1+ week
- Automated
- Unit tests have a `WriteMode` that enables the integrity protection via `WriteOptions`
- Crash test - in most cases, use `WriteOptions::protection_bytes_per_key` to enable integrity protection
Reviewed By: cbi42
Differential Revision: D36614569
Pulled By: ajkr
fbshipit-source-id: 8650087ceac9b61b560f1e5fafe5e1baf9c725fb
2 years ago
..
agg_merge
Add Aggregation Merge Operator ( #9780 )
3 years ago
backup
Fail DB::Open() if logger cannot be created ( #9984 )
2 years ago
blob_db
Remove own ToString() ( #9955 )
3 years ago
cassandra
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
checkpoint
Add Temperature info in `NewSequentialFile()` ( #9499 )
3 years ago
compaction_filters
Make MergeOperator+CompactionFilter/Factory into Customizable Classes ( #8481 )
3 years ago
convenience
Add a SystemClock class to capture the time functions of an Env ( #7858 )
4 years ago
leveldb_options
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
memory
Remove own ToString() ( #9955 )
3 years ago
merge_operators
Remove using namespace ( #9369 )
3 years ago
option_change_migration
Fix some typos in comments and HISTORY.md ( #9798 )
3 years ago
options
Remove own ToString() ( #9955 )
3 years ago
persistent_cache
Remove code that only compiles for Visual Studio versions older than 2015 ( #10065 )
2 years ago
simulator_cache
Remove own ToString() ( #9955 )
3 years ago
table_properties_collectors
Remove own ToString() ( #9955 )
3 years ago
trace
Add rate limiter priority to ReadOptions ( #9424 )
3 years ago
transactions
Add WriteOptions::protection_bytes_per_key ( #10037 )
2 years ago
ttl
Work around some new clang-analyze failures ( #9515 )
3 years ago
write_batch_with_index
Add WriteOptions::protection_bytes_per_key ( #10037 )
2 years ago
cache_dump_load.cc
Introduce a mechanism to dump out blocks from block cache and re-insert to secondary cache ( #8912 )
3 years ago
cache_dump_load_impl.cc
Remove deprecated block-based filter ( #10184 )
2 years ago
cache_dump_load_impl.h
Remove deprecated block-based filter ( #10184 )
2 years ago
compaction_filters.cc
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
counted_fs.cc
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
counted_fs.h
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
debug.cc
In ParseInternalKey(), include corrupt key info in Status ( #7515 )
4 years ago
env_mirror.cc
Fix clang13 build error ( #9374 )
3 years ago
env_mirror_test.cc
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
env_timed.cc
Make FileSystem a Customizable Class ( #8649 )
3 years ago
env_timed.h
Make FileSystem a Customizable Class ( #8649 )
3 years ago
env_timed_test.cc
Make env*_test work with ASSERT_STATUS_CHECKED ( #7176 )
4 years ago
fault_injection_env.cc
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
fault_injection_env.h
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
fault_injection_fs.cc
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
fault_injection_fs.h
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
fault_injection_secondary_cache.cc
Prevent double caching in the compressed secondary cache ( #9747 )
3 years ago
fault_injection_secondary_cache.h
Prevent double caching in the compressed secondary cache ( #9747 )
3 years ago
memory_allocators.h
Make MemoryAllocator into a Customizable class ( #8980 )
3 years ago
merge_operators.cc
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
merge_operators.h
Make MergeOperator+CompactionFilter/Factory into Customizable Classes ( #8481 )
3 years ago
object_registry.cc
Added GetFactoryCount/Names/Types to ObjectRegistry ( #9358 )
3 years ago
object_registry_test.cc
Added GetFactoryCount/Names/Types to ObjectRegistry ( #9358 )
3 years ago
util_merge_operators_test.cc
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
wal_filter.cc
Make WalFilter, SstPartitionerFactory, FileChecksumGenFactory, and TableProperties Customizable ( #8638 )
3 years ago