Class IngestExternalFileOptions
- Namespace
- RocksDbNet
- Assembly
- RocksDb.Net.dll
Options controlling how external SST files are ingested into the database.
public sealed class IngestExternalFileOptions : RocksDbHandle, IDisposable
- Inheritance
-
IngestExternalFileOptions
- Implements
- Inherited Members
Constructors
IngestExternalFileOptions()
Creates a new IngestExternalFileOptions with default settings.
public IngestExternalFileOptions()
Properties
AllowBlockingFlush
When true, the ingest operation may wait and block ongoing flushes.
Defaults to true.
public bool AllowBlockingFlush { get; set; }
Property Value
AllowDbGeneratedFiles
When true, files produced by a RocksDb database, rather than by
SstFileWriter, may be ingested.
public bool AllowDbGeneratedFiles { get; set; }
Property Value
AllowGlobalSeqno
When true, the global sequence number written in the file is allowed to be modified.
Defaults to true.
public bool AllowGlobalSeqno { get; set; }
Property Value
FailIfNotBottommostLevel
When true, ingestion fails unless the files can be placed in the
bottommost level.
public bool FailIfNotBottommostLevel { get; set; }
Property Value
FailedMoveFallBackToCopy
When true, a move that fails falls back to copying rather than
failing the ingestion.
public bool FailedMoveFallBackToCopy { get; set; }
Property Value
FileOpeningThreads
Number of threads used to open the incoming files. Higher values speed up ingesting many files at once.
public int FileOpeningThreads { get; set; }
Property Value
FillCache
When true, blocks read during ingestion are added to the block
cache. Leave this off for a bulk load so it does not evict live data.
public bool FillCache { get; set; }
Property Value
IngestBehind
When true, the files are ingested below the existing data rather
than on top of it. Requires CfAllowIngestBehind.
public bool IngestBehind { get; set; }
Property Value
LinkFiles
When true, files are hard linked into the database directory
instead of copied, which is cheaper but requires the same filesystem.
public bool LinkFiles { get; set; }
Property Value
MoveFiles
When true, the files are moved into the database directory instead of copied.
Defaults to false.
public bool MoveFiles { get; set; }
Property Value
PrefetchLmaxIndexAndFilterBlocks
When true, index and filter blocks of files landing in the last
level are prefetched.
public bool PrefetchLmaxIndexAndFilterBlocks { get; set; }
Property Value
SnapshotConsistency
When true, ingestion verifies snapshot consistency.
Defaults to true.
public bool SnapshotConsistency { get; set; }
Property Value
VerifyChecksumsBeforeIngest
When true, checksums in the incoming files are verified before the
files are ingested. Catches a corrupt file before it enters the database.
public bool VerifyChecksumsBeforeIngest { get; set; }
Property Value
VerifyChecksumsReadaheadSize
Readahead size in bytes used while verifying checksums before ingest. 0 lets RocksDb choose.
public ulong VerifyChecksumsReadaheadSize { get; set; }
Property Value
VerifyFileChecksum
When true, each file's whole-file checksum is verified against the
checksum recorded for it.
public bool VerifyFileChecksum { get; set; }
Property Value
WriteGlobalSeqno
When true, the assigned global sequence number is written into the
ingested file. When false, it is held in the manifest instead,
which leaves the file itself unmodified.
public bool WriteGlobalSeqno { get; set; }
Property Value
Methods
DisposeHandle()
Releases the native handle. Called during disposal.
protected override void DisposeHandle()
Remarks
Protected rather than public: it destroys the native object without marking this instance disposed or clearing the handle, so calling it from outside and then disposing normally would free the same pointer twice. It was the most Dispose-looking member on the type. Callers want Dispose().