#[repr(i32)]pub enum FlussError {
Show 59 variants
UnknownServerError = -1,
None = 0,
NetworkException = 1,
UnsupportedVersion = 2,
CorruptMessage = 3,
DatabaseNotExist = 4,
DatabaseNotEmpty = 5,
DatabaseAlreadyExist = 6,
TableNotExist = 7,
TableAlreadyExist = 8,
SchemaNotExist = 9,
LogStorageException = 10,
KvStorageException = 11,
NotLeaderOrFollower = 12,
RecordTooLargeException = 13,
CorruptRecordException = 14,
InvalidTableException = 15,
InvalidDatabaseException = 16,
InvalidReplicationFactor = 17,
InvalidRequiredAcks = 18,
LogOffsetOutOfRangeException = 19,
NonPrimaryKeyTableException = 20,
UnknownTableOrBucketException = 21,
InvalidUpdateVersionException = 22,
InvalidCoordinatorException = 23,
FencedLeaderEpochException = 24,
RequestTimeOut = 25,
StorageException = 26,
OperationNotAttemptedException = 27,
NotEnoughReplicasAfterAppendException = 28,
NotEnoughReplicasException = 29,
SecurityTokenException = 30,
OutOfOrderSequenceException = 31,
DuplicateSequenceException = 32,
UnknownWriterIdException = 33,
InvalidColumnProjection = 34,
InvalidTargetColumn = 35,
PartitionNotExists = 36,
TableNotPartitionedException = 37,
InvalidTimestampException = 38,
InvalidConfigException = 39,
LakeStorageNotConfiguredException = 40,
KvSnapshotNotExist = 41,
PartitionAlreadyExists = 42,
PartitionSpecInvalidException = 43,
LeaderNotAvailableException = 44,
PartitionMaxNumException = 45,
AuthenticateException = 46,
SecurityDisabledException = 47,
AuthorizationException = 48,
BucketMaxNumException = 49,
FencedTieringEpochException = 50,
RetriableAuthenticateException = 51,
InvalidServerRackInfoException = 52,
LakeSnapshotNotExist = 53,
LakeTableAlreadyExist = 54,
IneligibleReplicaException = 55,
InvalidAlterTableException = 56,
DeletionDisabledException = 57,
}Expand description
Fluss protocol errors. These errors are part of the client-server protocol. The error codes cannot be changed, but the names can be.
Do not add exceptions that occur only on the client or only on the server here.
Variants§
UnknownServerError = -1
The server experienced an unexpected error when processing the request.
None = 0
No error occurred.
NetworkException = 1
The server disconnected before a response was received.
UnsupportedVersion = 2
The version of API is not supported.
CorruptMessage = 3
This message has failed its CRC checksum, exceeds the valid size, has a null key for a primary key table, or is otherwise corrupt.
DatabaseNotExist = 4
The database does not exist.
DatabaseNotEmpty = 5
The database is not empty.
DatabaseAlreadyExist = 6
The database already exists.
TableNotExist = 7
The table does not exist.
TableAlreadyExist = 8
The table already exists.
SchemaNotExist = 9
The schema does not exist.
LogStorageException = 10
Exception occur while storage data for log in server.
KvStorageException = 11
Exception occur while storage data for kv in server.
NotLeaderOrFollower = 12
Not leader or follower.
RecordTooLargeException = 13
The record is too large.
CorruptRecordException = 14
The record is corrupt.
InvalidTableException = 15
The client has attempted to perform an operation on an invalid table.
InvalidDatabaseException = 16
The client has attempted to perform an operation on an invalid database.
InvalidReplicationFactor = 17
The replication factor is larger then the number of available tablet servers.
InvalidRequiredAcks = 18
Produce request specified an invalid value for required acks.
LogOffsetOutOfRangeException = 19
The log offset is out of range.
NonPrimaryKeyTableException = 20
The table is not primary key table.
UnknownTableOrBucketException = 21
The table or bucket does not exist.
InvalidUpdateVersionException = 22
The update version is invalid.
InvalidCoordinatorException = 23
The coordinator is invalid.
FencedLeaderEpochException = 24
The leader epoch is invalid.
RequestTimeOut = 25
The request time out.
StorageException = 26
The general storage exception.
OperationNotAttemptedException = 27
The server did not attempt to execute this operation.
NotEnoughReplicasAfterAppendException = 28
Records are written to the server already, but to fewer in-sync replicas than required.
NotEnoughReplicasException = 29
Messages are rejected since there are fewer in-sync replicas than required.
SecurityTokenException = 30
Get file access security token exception.
OutOfOrderSequenceException = 31
The tablet server received an out of order sequence batch.
DuplicateSequenceException = 32
The tablet server received a duplicate sequence batch.
UnknownWriterIdException = 33
This exception is raised by the tablet server if it could not locate the writer metadata.
InvalidColumnProjection = 34
The requested column projection is invalid.
InvalidTargetColumn = 35
The requested target column to write is invalid.
PartitionNotExists = 36
The partition does not exist.
TableNotPartitionedException = 37
The table is not partitioned.
InvalidTimestampException = 38
The timestamp is invalid.
InvalidConfigException = 39
The config is invalid.
LakeStorageNotConfiguredException = 40
The lake storage is not configured.
KvSnapshotNotExist = 41
The kv snapshot is not exist.
PartitionAlreadyExists = 42
The partition already exists.
PartitionSpecInvalidException = 43
The partition spec is invalid.
LeaderNotAvailableException = 44
There is no currently available leader for the given partition.
PartitionMaxNumException = 45
Exceed the maximum number of partitions.
AuthenticateException = 46
Authentication failed.
SecurityDisabledException = 47
Security is disabled.
AuthorizationException = 48
Authorization failed.
BucketMaxNumException = 49
Exceed the maximum number of buckets.
FencedTieringEpochException = 50
The tiering epoch is invalid.
RetriableAuthenticateException = 51
Authentication failed with retriable exception.
InvalidServerRackInfoException = 52
The server rack info is invalid.
LakeSnapshotNotExist = 53
The lake snapshot is not exist.
LakeTableAlreadyExist = 54
The lake table already exists.
IneligibleReplicaException = 55
The new ISR contains at least one ineligible replica.
InvalidAlterTableException = 56
The alter table is invalid.
DeletionDisabledException = 57
Deletion operations are disabled on this table.
Implementations§
Source§impl FlussError
impl FlussError
pub fn is_retriable(&self) -> bool
Sourcepub fn to_api_error(&self, message: Option<String>) -> ApiError
pub fn to_api_error(&self, message: Option<String>) -> ApiError
Create an ApiError from this error with the default message.
Trait Implementations§
Source§impl Clone for FlussError
impl Clone for FlussError
Source§fn clone(&self) -> FlussError
fn clone(&self) -> FlussError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlussError
impl Debug for FlussError
Source§impl Display for FlussError
impl Display for FlussError
Source§impl From<ApiError> for FlussError
impl From<ApiError> for FlussError
Source§impl Hash for FlussError
impl Hash for FlussError
Source§impl PartialEq for FlussError
impl PartialEq for FlussError
impl Copy for FlussError
impl Eq for FlussError
impl StructuralPartialEq for FlussError
Auto Trait Implementations§
impl Freeze for FlussError
impl RefUnwindSafe for FlussError
impl Send for FlussError
impl Sync for FlussError
impl Unpin for FlussError
impl UnsafeUnpin for FlussError
impl UnwindSafe for FlussError
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§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> 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> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.