pub enum WriteError {
Storage(StorageError),
TooLarge {
size: u64,
limit: u64,
},
Path(Error),
IndexerBackpressureUpsert,
IndexerBackpressureTombstone,
EventPublishFailed {
after: WriteEffect,
},
PatchTooLarge {
size: u64,
limit: u64,
},
PatchLineOutOfRange {
first: u64,
last: u64,
total_lines: u64,
total_bytes: u64,
},
PatchInvalidRange {
message: String,
},
InvalidManifest {
message: String,
},
ReplaceNoMatch,
ReplaceAmbiguous {
count: u64,
},
}Expand description
Errors returned by shared write operations.
Variants§
Storage(StorageError)
Storage-layer failure.
TooLarge
Upload size exceeded the configured limit.
Path(Error)
Path/domain validation failure.
IndexerBackpressureUpsert
Indexer queue was full while enqueueing an upsert.
IndexerBackpressureTombstone
Indexer queue was full while enqueueing a tombstone.
EventPublishFailed
The event log refused the change after storage had already taken it.
Mirrors the indexer backpressure variants: the caller answers 503 with
Retry-After and a retried write publishes the event (D38, D55).
Fields
after: WriteEffectWhat storage had already done by the time publishing failed.
PatchTooLarge
Object body exceeds the NOTEDTHAT_MAX_PATCHABLE_SIZE limit before or after splice.
PatchLineOutOfRange
Requested line range is beyond the end of the object at server-side splice time.
Fields
PatchInvalidRange
Invalid range, mode contradiction, or missing If-Match for PATCH.
InvalidManifest
A body written to .notedthat/manifest.json is not the manifest startup
would accept: not a manifest document, naming another knowledge base, or
outside the limits KbManifest::validate enforces. The message is the
one the refused boot would have printed.
ReplaceNoMatch
Replace operation found no occurrence of the requested old string.
ReplaceAmbiguous
Replace operation found multiple occurrences, making single replace ambiguous.
Trait Implementations§
Source§impl Debug for WriteError
impl Debug for WriteError
Source§impl Display for WriteError
impl Display for WriteError
Source§impl Error for WriteError
impl Error for WriteError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<StorageError> for WriteError
impl From<StorageError> for WriteError
Source§fn from(err: StorageError) -> Self
fn from(err: StorageError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for WriteError
impl !UnwindSafe for WriteError
impl Freeze for WriteError
impl Send for WriteError
impl Sync for WriteError
impl Unpin for WriteError
impl UnsafeUnpin for WriteError
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request