pub enum StoreError {
Show 25 variants
Io(String),
Database(String),
Blob(BlobStoreError),
BlobHashMismatch,
SequenceGap {
expected: u64,
actual: u64,
},
AuthorChainMissing {
previous: CommitId,
},
SnapshotBaselineMissing {
frontier: CommitId,
},
AuthorEquivocation {
author: AuthorId,
sequence: u64,
first: CommitId,
second: CommitId,
},
QuarantinedCommit(CommitId),
QuarantinedAuthor {
author: AuthorId,
from_sequence: u64,
},
MissingDependency(CommitId),
UnsupportedFormat,
AlreadyOpen,
MissingCommitBlob(CommitId),
CommitCodec(CommitCodecError),
Schema(SchemaError),
Migration(MigrationCodecError),
InvalidMigration(String),
SchemaMigrationFork {
collection_id: CollectionId,
},
SchemaMismatch {
collection_id: CollectionId,
version: u32,
},
InvalidIndex {
collection_id: CollectionId,
field_id: u32,
},
CorruptDerivedMetadata(String),
InvalidSnapshotMetadata(String),
InvalidAuthority(String),
ControlFork {
domain: DomainId,
first: [u8; 32],
second: [u8; 32],
},
}Expand description
A local durable-store failure.
Variants§
Io(String)
A filesystem operation failed.
Database(String)
The redb metadata operation failed.
Blob(BlobStoreError)
The immutable blob repository failed.
BlobHashMismatch
The blob repository returned a hash other than the bytes’ expected hash.
SequenceGap
A commit skipped or repeated an author’s required next sequence.
Fields
AuthorChainMissing
The next author sequence did not causally extend that author’s accepted head.
Fields
previous: CommitIdThe accepted author commit that must be in dependency ancestry.
SnapshotBaselineMissing
A post-snapshot author commit did not extend the complete installed frontier.
Fields
frontier: CommitIdA current frontier commit absent from incoming dependency ancestry.
AuthorEquivocation
Two different immutable commits claim one author-local sequence.
Fields
The signing author that reused a sequence.
first: CommitIdLexicographically first conflicting commit ID.
second: CommitIdLexicographically second conflicting commit ID.
QuarantinedCommit(CommitId)
A commit is immutable evidence in a quarantined equivocation branch.
QuarantinedAuthor
An author’s signing key equivocated and cannot extend that branch.
Fields
The equivocated author identity.
MissingDependency(CommitId)
A declared causal dependency is not accepted locally.
UnsupportedFormat
The directory has an incompatible format marker.
AlreadyOpen
Another process already holds the exclusive writer lock.
MissingCommitBlob(CommitId)
A stored commit blob was missing.
CommitCodec(CommitCodecError)
Stored immutable bytes were not a canonical commit.
Schema(SchemaError)
A stored schema descriptor could not be decoded.
Migration(MigrationCodecError)
A canonical schema migration object was invalid.
InvalidMigration(String)
Migration-derived state did not match its immutable commit history.
SchemaMigrationFork
Two activation commits attempted different successors for one schema.
Fields
collection_id: CollectionIdSchemaMismatch
The same domain, collection and version was registered with different bytes.
Fields
collection_id: CollectionIdStable collection identifier.
InvalidIndex
A supplied index was absent from the schema or was not declared indexed.
Fields
collection_id: CollectionIdStable collection identifier.
CorruptDerivedMetadata(String)
Stored derived metadata was structurally corrupt.
InvalidSnapshotMetadata(String)
A snapshot supplied a noncanonical or inconsistent causal baseline.
InvalidAuthority(String)
A signed domain authority object failed validation or conflicted with durable state.
ControlFork
The designated controller signed two different successors for one control slot.
Trait Implementations§
Source§impl Clone for StoreError
impl Clone for StoreError
Source§fn clone(&self) -> StoreError
fn clone(&self) -> StoreError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more