pub enum StorageError<T> {
Show 24 variants
CollectionIdReused(GlobalId),
SinkIdReused(GlobalId),
IdentifierMissing(GlobalId),
IdentifierInvalid(GlobalId),
UpdateBeyondUpper(GlobalId),
ReadBeforeSince(GlobalId),
InvalidUppers(Vec<InvalidUpper<T>>),
IngestionInstanceMissing {
storage_instance_id: StorageInstanceId,
ingestion_id: GlobalId,
},
ExportInstanceMissing {
storage_instance_id: StorageInstanceId,
export_id: GlobalId,
},
DataflowError(DataflowError),
InvalidAlter(AlterError),
InvalidUsage(String),
ResourceExhausted(&'static str),
ShuttingDown(&'static str),
CollectionMetadataAlreadyExists(GlobalId),
PersistShardAlreadyInUse(ShardId),
PersistSchemaEvolveRace {
global_id: GlobalId,
shard_id: ShardId,
schema_id: SchemaId,
relation_desc: RelationDesc,
},
PersistInvalidSchemaEvolve {
global_id: GlobalId,
shard_id: ShardId,
},
TxnWalShardAlreadyExists,
MissingSubsourceReference {
ingestion_id: GlobalId,
reference: UnresolvedItemName,
},
RtrTimeout(GlobalId),
RtrDropFailure(GlobalId),
Generic(Error),
ReadOnly,
}
Variants§
CollectionIdReused(GlobalId)
The source identifier was re-created after having been dropped, or installed with a different description.
SinkIdReused(GlobalId)
The sink identifier was re-created after having been dropped, or installed with a different description.
IdentifierMissing(GlobalId)
The source identifier is not present.
IdentifierInvalid(GlobalId)
The provided identifier was invalid, maybe missing, wrong type, not registered, etc.
UpdateBeyondUpper(GlobalId)
The update contained in the appended batch was at a timestamp equal or beyond the batch’s upper
ReadBeforeSince(GlobalId)
The read was at a timestamp before the collection’s since
InvalidUppers(Vec<InvalidUpper<T>>)
The expected upper of one or more appends was different from the actual upper of the collection
IngestionInstanceMissing
The (client for) the requested cluster instance is missing.
ExportInstanceMissing
The (client for) the requested cluster instance is missing.
DataflowError(DataflowError)
Dataflow was not able to process a request
InvalidAlter(AlterError)
Response to an invalid/unsupported ALTER..
command.
InvalidUsage(String)
The controller API was used in some invalid way. This usually indicates a bug.
ResourceExhausted(&'static str)
The specified resource was exhausted, and is not currently accepting more requests.
ShuttingDown(&'static str)
The specified component is shutting down.
CollectionMetadataAlreadyExists(GlobalId)
Collection metadata already exists for ID.
PersistShardAlreadyInUse(ShardId)
Some other collection is already writing to this persist shard.
PersistSchemaEvolveRace
Raced with some other process while trying to evolve the schema of a Persist shard.
PersistInvalidSchemaEvolve
We tried to evolve the schema of a Persist shard in an invalid way.
TxnWalShardAlreadyExists
Txn WAL shard already exists.
MissingSubsourceReference
The item that a subsource refers to is unexpectedly missing from the source.
RtrTimeout(GlobalId)
We failed to determine the real-time-recency timestamp.
RtrDropFailure(GlobalId)
The collection was dropped before we could ingest its external frontier.
Generic(Error)
A generic error that happens during operations of the storage controller.
ReadOnly
We are in read-only mode and were asked to do a something that requires writing.
Trait Implementations§
Source§impl<T: Debug> Debug for StorageError<T>
impl<T: Debug> Debug for StorageError<T>
Source§impl<T: Display + 'static> Display for StorageError<T>
impl<T: Display + 'static> Display for StorageError<T>
Source§impl<T: Debug + Display + 'static> Error for StorageError<T>
impl<T: Debug + Display + 'static> Error for StorageError<T>
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
Source§impl<T> From<AlterError> for StorageError<T>
impl<T> From<AlterError> for StorageError<T>
Source§fn from(error: AlterError) -> Self
fn from(error: AlterError) -> Self
Source§impl<T> From<DataflowError> for StorageError<T>
impl<T> From<DataflowError> for StorageError<T>
Source§fn from(error: DataflowError) -> Self
fn from(error: DataflowError) -> Self
Auto Trait Implementations§
impl<T> Freeze for StorageError<T>
impl<T> RefUnwindSafe for StorageError<T>where
T: RefUnwindSafe,
impl<T> Send for StorageError<T>where
T: Send,
impl<T> Sync for StorageError<T>where
T: Sync,
impl<T> Unpin for StorageError<T>where
T: Unpin,
impl<T> UnwindSafe for StorageError<T>where
T: RefUnwindSafe + UnwindSafe,
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<E> ErrorExt for E
impl<E> ErrorExt for E
Source§fn display_with_causes(&self) -> ErrorChainFormatter<&Self>
fn display_with_causes(&self) -> ErrorChainFormatter<&Self>
Source§fn to_string_with_causes(&self) -> String
fn to_string_with_causes(&self) -> String
self
to a string String
, along with the chain of source errors or
causes, if there are any. Read moreSource§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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
Source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
Source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.Source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.