pub struct RocksSpoolParams {Show 21 fields
pub increase_parallelism: Option<i32>,
pub optimize_level_style_compaction: Option<usize>,
pub optimize_universal_style_compaction: Option<usize>,
pub paranoid_checks: bool,
pub compression_type: DBCompressionTypeDef,
pub compaction_readahead_size: Option<usize>,
pub level_compaction_dynamic_level_bytes: bool,
pub max_open_files: Option<usize>,
pub write_buffer_size: Option<usize>,
pub level0_stop_writes_trigger: Option<i32>,
pub log_level: LogLevelDef,
pub memtable_huge_page_size: Option<usize>,
pub log_file_time_to_roll: Duration,
pub obsolete_files_period: Duration,
pub limit_concurrent_stores: Option<usize>,
pub limit_concurrent_loads: Option<usize>,
pub limit_concurrent_removes: Option<usize>,
pub store_deadline: Duration,
pub error_latch_duration: Duration,
pub error_unlatch_duration: Duration,
pub allow_error_unlatch: bool,
}Fields§
§increase_parallelism: Option<i32>§optimize_level_style_compaction: Option<usize>§optimize_universal_style_compaction: Option<usize>§paranoid_checks: bool§compression_type: DBCompressionTypeDef§compaction_readahead_size: Option<usize>If non-zero, we perform bigger reads when doing compaction. If you’re running RocksDB on spinning disks, you should set this to at least 2MB. That way RocksDB’s compaction is doing sequential instead of random reads
level_compaction_dynamic_level_bytes: bool§max_open_files: Option<usize>§write_buffer_size: Option<usize>Size in bytes of the rocksdb memtable that buffers writes before being flushed to disk as a new SST file.
Smaller values produce smaller, more frequent SST files and trigger compactions sooner – useful in test setups that need to force the storage through its full write/compact lifecycle quickly. Larger values amortize compaction overhead but increase memory use and recovery time after restart. Leave unset to use the rocksdb default.
level0_stop_writes_trigger: Option<i32>Number of level-0 SST files at which rocksdb will stop accepting writes. Lower values transition the database into the write-stopped state more quickly when background compaction cannot keep up, which is useful for tests that need to deterministically observe that condition. Leave unset to use the rocksdb default.
log_level: LogLevelDef§memtable_huge_page_size: Option<usize>§log_file_time_to_roll: Duration§obsolete_files_period: Duration§limit_concurrent_stores: Option<usize>§limit_concurrent_loads: Option<usize>§limit_concurrent_removes: Option<usize>§store_deadline: DurationUpper bound on the wait that store() and remove() will
tolerate when rocksdb is applying backpressure. Callers may
provide a shorter deadline (typically derived from an SMTP
client’s idle timeout); the effective deadline is the minimum
of the two. Going longer than the caller-provided value risks
the client timing out and retrying, which would produce
duplicate deliveries – this option therefore only narrows the
effective deadline, it never extends it.
error_latch_duration: DurationHow long the composite “this database is wedged” signal must
hold continuously before the load-shedding gate latches.
The signal goes high whenever the rocksdb
background-errors counter has grown above the value
observed at process start, or any foreground spool operation
has returned a rocksdb error since process start. Brief
blips that recover within this window do not latch the gate.
error_unlatch_duration: DurationHow long the healthy state must hold continuously before the
load-shedding gate auto-unlatches. Only consulted when
allow_error_unlatch is true. A relatively long value
(minutes) gives operators time to inspect the database after a
brief failure window before the daemon starts accepting writes
again on its own.
allow_error_unlatch: boolWhen true (the default), the load-shedding gate clears itself
after error_unlatch_duration of observed recovery. Set to
false to require an operator restart to clear the gate, which
is appropriate when you want a human to confirm the underlying
cause is resolved before accepting traffic again.
Trait Implementations§
Source§impl Debug for RocksSpoolParams
impl Debug for RocksSpoolParams
Source§impl Default for RocksSpoolParams
impl Default for RocksSpoolParams
Source§impl<'de> Deserialize<'de> for RocksSpoolParams
impl<'de> Deserialize<'de> for RocksSpoolParams
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RocksSpoolParams
impl RefUnwindSafe for RocksSpoolParams
impl Send for RocksSpoolParams
impl Sync for RocksSpoolParams
impl Unpin for RocksSpoolParams
impl UnwindSafe for RocksSpoolParams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more