Enum Error

Source
pub enum Error {
Show 44 variants IoError(Error), SledError(Error), TonicError(Error), GeneralServerError(String), ServerError, BincodeError(Error), NodeFailedToStartError, ConnectError, RetryTimeoutError, StateMachinneError(String), NodeIsNotLeaderError, ClusterMembershipNotFound, NoLeaderFound, EmptyKeys, InvalidResponse, InvalidResponseType, ClusterMembershipUpdateFailed(String), ClusterMetadataNodeMetaNotFound(u32), AppendEntriesCommitNotConfirmed, AppendEntriesNotLeader, AppendEntriesNoPeerFound, AppendEntriesServerTimeoutResponding, ElectionFailed(String), StateTransitionError(StateTransitionError), HigherTermFoundError(u64), Exit, RPCServerDies, ServerIsNotReadyError, RPCServerStatusError(String), InvalidURI(String), FailedToSendReadRequestError, FailedToSendWriteRequestError, RetryTaskFailed(String), AddrParseError(AddrParseError), FailedSetPeerConnection(String), ConfigError(ConfigError), TokioSendStatusError(String), NotLeader, LearnerCanNot, Illegal, TransitionFailed, JoinError(JoinError), GeneralClientError(String), InvalidConfig(String),
}
Expand description

Custom errors definition

Variants§

§

IoError(Error)

General file IO error

§

SledError(Error)

Sled DB related error

§

TonicError(Error)

RPC framework tonic related error

§

GeneralServerError(String)

General server error

§

ServerError

General server error without message

§

BincodeError(Error)

Bincode related error

§

NodeFailedToStartError

Node start failed error

§

ConnectError

RPC connection error

§

RetryTimeoutError

Async task retry timeout error

§

StateMachinneError(String)

State machine related error

§

NodeIsNotLeaderError

The request was sent to a follower or non-leader node; the client should retry with the leader.

§

ClusterMembershipNotFound

The cluster has no known membership configuration; it may be unavailable or uninitialized.

§

NoLeaderFound

Returned when the cluster has no elected leader or the leader is unknown. This typically occurs during elections or network partitions.

§

EmptyKeys

Returned when client get_multi is called without any keys.

§

InvalidResponse

The response from the client response is invalid or missing expected data.

§

InvalidResponseType

Returned when the server response type does not match the expected variant for the operation. Typically indicates a protocol mismatch or internal bug.

§

ClusterMembershipUpdateFailed(String)

Indicates failure to fetch or apply the latest cluster membership from the leader. Additional context is included in the error message.

§

ClusterMetadataNodeMetaNotFound(u32)

Indicates that the Raft metadata for the given node ID was not found. This usually occurs when the client or leader lacks an up-to-date cluster view, or the node has not been properly registered in cluster membership.

The u32 parameter represents the node ID being queried.

§

AppendEntriesCommitNotConfirmed

The follower could not confirm commitment of the log entry. This may happen if the follower’s log is not sufficiently up-to-date or quorum was not reached.

§

AppendEntriesNotLeader

The current node rejected the AppendEntries request because it is not the leader. Clients should redirect requests to the current cluster leader.

§

AppendEntriesNoPeerFound

The target peer specified in the AppendEntries request was not found in the current cluster view. This can occur if the membership view is outdated or the peer was removed.

§

AppendEntriesServerTimeoutResponding

Typically caused by network partitions, slow nodes, or overloaded peers.

§

ElectionFailed(String)

The node failed to win the election. This could happen due to split vote, quorum not reached, or other election logic failure. The error message may contain additional context such as vote count or term mismatch.

§

StateTransitionError(StateTransitionError)

Error occurred during a Raft state transition (e.g., follower → candidate, candidate → leader). Propagates the underlying StateTransitionError.

§

HigherTermFoundError(u64)

A message was received with a higher term than the local node’s current term. The node should step down and update its term accordingly.

§

Exit

Receive Exist Signals

§

RPCServerDies

Indicated RPC service stops serving

§

ServerIsNotReadyError

Indicate node is not ready to server request

§

RPCServerStatusError(String)

Receive status error from RPC service

§

InvalidURI(String)

The error is returned when the provided URI is invalid. The error message will include the invalid URI for context.

§

FailedToSendReadRequestError

Indicates a failure to send a read request.

§

FailedToSendWriteRequestError

Indicates a failure to send a write request.

§

RetryTaskFailed(String)

A task retry failed, often due to reaching the maximum retry limit or encountering persistent errors.

§

AddrParseError(AddrParseError)

Address parsing error when invalid network address is encountered.

§

FailedSetPeerConnection(String)

Failed to set up a peer connection, possibly due to network or configuration issues. The error message may contain more details about the failure.

§

ConfigError(ConfigError)

General error indicating a configuration issue. The error message will provide details about the specific configuration problem.

§

TokioSendStatusError(String)

Error encountered when sending a Tonic status via tokio. The error message will include details about the status failure.

§

NotLeader

The operation failed because the current node is not a leader.

§

LearnerCanNot

The operation failed because the node is a learner and cannot perform this action.

§

Illegal

A generic error indicating an illegal state or operation.

§

TransitionFailed

The error indicates that a state transition has failed.

§

JoinError(JoinError)

Error encountered when a tokio task join fails.

§

GeneralClientError(String)

General client request error

§

InvalidConfig(String)

Configuration is invalid. The error message will contain details about what is wrong with the config.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<AddrParseError> for Error

Source§

fn from(source: AddrParseError) -> Self

Converts to this type from the input type.
Source§

impl From<Box<ErrorKind>> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ClientRequestError> for Error

Source§

fn from(e: ClientRequestError) -> Self

Converts to this type from the input type.
Source§

impl From<ConfigError> for Error

Source§

fn from(source: ConfigError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for ClientRequestError

Source§

fn from(e: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<JoinError> for Error

Source§

fn from(source: JoinError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T