pub struct RegionManifest {
pub region_id: Option<Uuid>,
pub version: u64,
pub region_spec_id: u32,
pub writer_epoch: u64,
pub replay_after_wal_id: u64,
pub wal_id_last_seen: u64,
pub current_generation: u64,
pub flushed_generations: Vec<FlushedGeneration>,
}Expand description
Region manifest containing epoch-based fencing and WAL state. Each region has exactly one active writer at any time.
Fields§
§region_id: Option<Uuid>Region identifier (UUID v4).
version: u64Manifest version number. Matches the version encoded in the filename.
region_spec_id: u32Region spec ID this region was created with. Set at region creation and immutable thereafter. A value of 0 indicates a manually-created region not governed by any spec.
writer_epoch: u64Writer fencing token - monotonically increasing. A writer must increment this when claiming the region.
replay_after_wal_id: u64The most recent WAL entry ID that has been flushed to a MemTable. During recovery, replay starts from replay_after_wal_id + 1.
wal_id_last_seen: u64The most recent WAL entry ID at the time manifest was updated. This is a hint, not authoritative - recovery must list files to find actual state.
current_generation: u64Next generation ID to create (incremented after each MemTable flush).
flushed_generations: Vec<FlushedGeneration>List of flushed MemTable generations and their directory paths.
Trait Implementations§
Source§impl Clone for RegionManifest
impl Clone for RegionManifest
Source§fn clone(&self) -> RegionManifest
fn clone(&self) -> RegionManifest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RegionManifest
impl Debug for RegionManifest
Source§impl Default for RegionManifest
impl Default for RegionManifest
Source§impl Message for RegionManifest
impl Message for RegionManifest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl Name for RegionManifest
impl Name for RegionManifest
Source§const NAME: &'static str = "RegionManifest"
const NAME: &'static str = "RegionManifest"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "lance.table"
const PACKAGE: &'static str = "lance.table"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for RegionManifest
impl PartialEq for RegionManifest
impl StructuralPartialEq for RegionManifest
Auto Trait Implementations§
impl Freeze for RegionManifest
impl RefUnwindSafe for RegionManifest
impl Send for RegionManifest
impl Sync for RegionManifest
impl Unpin for RegionManifest
impl UnwindSafe for RegionManifest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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