From 01dc7898163c5e946f1ee2c5554353ecad8cd293 Mon Sep 17 00:00:00 2001 From: Weny Xu Date: Thu, 7 Aug 2025 17:29:32 +0800 Subject: [PATCH] refactor: refine error status code mappings (#6678) Signed-off-by: WenyXu --- src/common/procedure/src/error.rs | 16 ++++++++-------- src/meta-srv/src/error.rs | 22 +++++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/common/procedure/src/error.rs b/src/common/procedure/src/error.rs index 128418d670..a82e00b94f 100644 --- a/src/common/procedure/src/error.rs +++ b/src/common/procedure/src/error.rs @@ -260,21 +260,20 @@ impl ErrorExt for Error { | Error::PutPoison { source, .. } | Error::DeletePoison { source, .. } | Error::GetPoison { source, .. } - | Error::CheckStatus { source, .. } => source.status_code(), + | Error::CheckStatus { source, .. } + | Error::RetryLater { source, .. } => source.status_code(), Error::ToJson { .. } | Error::DeleteState { .. } | Error::FromJson { .. } - | Error::WaitWatcher { .. } - | Error::RetryLater { .. } - | Error::RollbackProcedureRecovered { .. } - | Error::TooManyRunningProcedures { .. } - | Error::PoisonKeyNotDefined { .. } => StatusCode::Internal, + | Error::WaitWatcher { .. } => StatusCode::Internal, Error::RetryTimesExceeded { .. } | Error::RollbackTimesExceeded { .. } | Error::ManagerNotStart { .. } - | Error::ManagerPasued { .. } => StatusCode::IllegalState, + | Error::ManagerPasued { .. } + | Error::TooManyRunningProcedures { .. } + | Error::RollbackProcedureRecovered { .. } => StatusCode::IllegalState, Error::RollbackNotSupported { .. } => StatusCode::Unsupported, Error::LoaderConflict { .. } | Error::DuplicateProcedure { .. } => { @@ -283,7 +282,8 @@ impl ErrorExt for Error { Error::ProcedurePanic { .. } | Error::ParseSegmentKey { .. } | Error::Unexpected { .. } - | &Error::ProcedureNotFound { .. } => StatusCode::Unexpected, + | &Error::ProcedureNotFound { .. } + | Error::PoisonKeyNotDefined { .. } => StatusCode::Unexpected, Error::ProcedureExec { source, .. } => source.status_code(), Error::StartRemoveOutdatedMetaTask { source, .. } | Error::StopRemoveOutdatedMetaTask { source, .. } => source.status_code(), diff --git a/src/meta-srv/src/error.rs b/src/meta-srv/src/error.rs index 5e4dfb6e4b..0b6a28b12d 100644 --- a/src/meta-srv/src/error.rs +++ b/src/meta-srv/src/error.rs @@ -958,30 +958,30 @@ impl ErrorExt for Error { | Error::BatchGet { .. } | Error::Range { .. } | Error::ResponseHeaderNotFound { .. } - | Error::IsNotLeader { .. } | Error::InvalidHttpBody { .. } | Error::ExceededRetryLimit { .. } | Error::SendShutdownSignal { .. } - | Error::PusherNotFound { .. } | Error::PushMessage { .. } | Error::MailboxClosed { .. } - | Error::MailboxTimeout { .. } | Error::MailboxReceiver { .. } - | Error::MailboxChannelClosed { .. } - | Error::RetryLater { .. } - | Error::RetryLaterWithSource { .. } | Error::StartGrpc { .. } | Error::PublishMessage { .. } | Error::Join { .. } - | Error::PeerUnavailable { .. } - | Error::ExceededDeadline { .. } | Error::ChooseItems { .. } | Error::FlowStateHandler { .. } | Error::BuildWalOptionsAllocator { .. } | Error::BuildPartitionClient { .. } - | Error::BuildKafkaClient { .. } - | Error::DeleteRecords { .. } - | Error::PruneTaskAlreadyRunning { .. } => StatusCode::Internal, + | Error::BuildKafkaClient { .. } => StatusCode::Internal, + + Error::DeleteRecords { .. } + | Error::PeerUnavailable { .. } + | Error::PusherNotFound { .. } => StatusCode::Unexpected, + Error::MailboxTimeout { .. } | Error::ExceededDeadline { .. } => StatusCode::Cancelled, + Error::PruneTaskAlreadyRunning { .. } + | Error::RetryLater { .. } + | Error::MailboxChannelClosed { .. } + | Error::IsNotLeader { .. } => StatusCode::IllegalState, + Error::RetryLaterWithSource { source, .. } => source.status_code(), Error::Unsupported { .. } => StatusCode::Unsupported,