Skip to content

Commit de6ad87

Browse files
committed
chore(meta-service): ForwardToLeader error should be handled
1 parent 16d8b84 commit de6ad87

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/meta/service/src/meta_service/raftmeta.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -884,12 +884,16 @@ impl MetaNode {
884884
let as_leader_res = self.as_leader().await;
885885
debug!("as_leader: is_err: {}", as_leader_res.is_err());
886886

887-
let leader = as_leader_res?;
888-
let res = leader.handle_forwardable_req(req.clone()).await;
889-
890-
let op_err = match res {
891-
Ok(x) => return Ok(x),
892-
Err(e) => e,
887+
// Handle the request locally or return a ForwardToLeader error
888+
let op_err = match as_leader_res {
889+
Ok(leader) => {
890+
let res = leader.handle_forwardable_req(req.clone()).await;
891+
match res {
892+
Ok(x) => return Ok(x),
893+
Err(e) => e,
894+
}
895+
}
896+
Err(e) => MetaOperationError::ForwardToLeader(e),
893897
};
894898

895899
// If needs to forward, deal with it. Otherwise return the unhandlable error.

0 commit comments

Comments
 (0)