pub struct KvConfig {
pub checkpoint_interval: Option<u64>,
pub close_deadline: Option<u64>,
}Expand description
[serve.kv] — control-plane SlateDB KV durability knobs (v0.9.0 KV-recovery). Both are
backstops/tuning: the crown-jewel per-write frontier-sync (C2) is unconditional and independent of
these. Absent block ⇒ both defaults apply (checkpoint cadence ON, generous close budget).
Fields§
§checkpoint_interval: Option<u64>Periodic checkpoint cadence, seconds. Unset ⇒ DEFAULT_KV_CHECKPOINT_INTERVAL_SECS (ON).
0 DISABLES the cadence (the crown-jewel per-write frontier-sync still runs; only the
backstop that bounds the loss window for derived/relaxed writes is off).
close_deadline: Option<u64>Graceful drain+close budget, seconds. Unset ⇒ DEFAULT_KV_CLOSE_DEADLINE_SECS. 0 is
rejected up to the default (a zero budget would abandon every close, guaranteeing a torn tail).
Implementations§
Source§impl KvConfig
impl KvConfig
Sourcepub fn checkpoint_interval(&self) -> Option<Duration>
pub fn checkpoint_interval(&self) -> Option<Duration>
The resolved periodic-checkpoint interval: None ⇒ cadence DISABLED (explicit 0); else the
configured seconds, or DEFAULT_KV_CHECKPOINT_INTERVAL_SECS when unset.
Sourcepub fn close_deadline(&self) -> Duration
pub fn close_deadline(&self) -> Duration
The resolved graceful-close budget. A configured 0 (or unset) falls back to
DEFAULT_KV_CLOSE_DEADLINE_SECS — the budget must be positive so a genuinely-wedged close
still cannot hang shutdown forever, while never being the too-tight 3s that caused the incident.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for KvConfig
impl<'de> Deserialize<'de> for KvConfig
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 KvConfig
impl RefUnwindSafe for KvConfig
impl Send for KvConfig
impl Sync for KvConfig
impl Unpin for KvConfig
impl UnsafeUnpin for KvConfig
impl UnwindSafe for KvConfig
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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