Enum VerifyOutputFlags
- Namespace
- RocksDbNet
- Assembly
- RocksDb.Net.dll
Which verifications RocksDb runs over the files a compaction produces, and when.
[Flags]
public enum VerifyOutputFlags : uint
Fields
All = 4294967295Every verification, on every kind of compaction.
Every bit, including ones RocksDb has not defined yet, so a later version may make this mean more than it does today.
BlockChecksum = 1Verify the block checksums of each output file.
EnableForLocalCompaction = 1024Run the selected verifications on compactions this process performs.
EnableForRemoteCompaction = 2048Run the selected verifications on compactions performed remotely.
FileChecksum = 4Verify the file-level checksum of each output file.
Iteration = 2Read each output file back and compare a hash of every key and value against what was written into it.
The most thorough and the most expensive of the three.
None = 0Verify nothing. The default.
Remarks
Mirrors VerifyOutputFlags in
include/rocksdb/advanced_options.h at the pinned version.
The bits come in two groups, and a value needs at least one from each to
do anything: the first three say what to verify, and the two
EnableFor bits say which compactions to verify it on. That
is why BlockChecksum on its own has no observable effect.
This was a plain int, described as flags RocksDb does not expose.
The C API takes and returns int while RocksDb keeps a
uint32_t, which is why All arrives there as -1 and why
setting -1 through the old int property was, unintentionally, asking
for everything.