diff --git a/src/logservice/logfetcher/ob_log_ls_fetch_stream.cpp b/src/logservice/logfetcher/ob_log_ls_fetch_stream.cpp index c7da5937da..f36fd53e94 100644 --- a/src/logservice/logfetcher/ob_log_ls_fetch_stream.cpp +++ b/src/logservice/logfetcher/ob_log_ls_fetch_stream.cpp @@ -1234,14 +1234,20 @@ int FetchStream::handle_fetch_log_error_( if (OB_SUCCESS != rcode.rcode_) { need_kick_out = true; kick_out_reason = FETCH_LOG_FAIL_ON_RPC; - if (OB_NOT_NULL(ls_fetch_ctx_) && OB_IN_STOP_STATE != ret) { - ls_fetch_ctx_->handle_error(ls_fetch_ctx_->get_tls_id().get_ls_id(), + if (OB_NOT_NULL(ls_fetch_ctx_)) { + if (OB_IN_STOP_STATE != rcode.rcode_) { + ls_fetch_ctx_->handle_error(ls_fetch_ctx_->get_tls_id().get_ls_id(), IObLogErrHandler::ErrType::FETCH_LOG, trace_id, ls_fetch_ctx_->get_next_lsn(), rcode.rcode_, "%s"); - LOG_ERROR("fetch log fail on rpc, need_switch_server", K(svr_), K(rcode), "fetch_stream", this); + } + if (OB_TIMEOUT == rcode.rcode_) { + LOG_WARN("fetch log fail on rpc, need_switch_server", K(svr_), K(rcode), "fetch_stream", this); + } else { + LOG_ERROR("fetch log fail on rpc, need_switch_server", K(svr_), K(rcode), "fetch_stream", this); + } } } // server return error @@ -1249,16 +1255,24 @@ int FetchStream::handle_fetch_log_error_( // Other errors, switch server directly need_kick_out = true; kick_out_reason = FETCH_LOG_FAIL_ON_SERVER; - if (OB_NOT_NULL(ls_fetch_ctx_) && OB_IN_STOP_STATE != ret ) { - ls_fetch_ctx_->handle_error(ls_fetch_ctx_->get_tls_id().get_ls_id(), + if (OB_NOT_NULL(ls_fetch_ctx_)) { + if (OB_IN_STOP_STATE != resp.get_err()) { + ls_fetch_ctx_->handle_error(ls_fetch_ctx_->get_tls_id().get_ls_id(), IObLogErrHandler::ErrType::FETCH_LOG, trace_id, ls_fetch_ctx_->get_next_lsn(), resp.get_err(), "%s"); - LOG_ERROR("fetch log fail on server, need_switch_server", "fetch_stream", this, K(svr_), - "svr_err", resp.get_err(), "svr_debug_err", resp.get_debug_err(), - K(rcode), K(resp)); + } + if (OB_TIMEOUT == resp.get_err()) { + LOG_WARN("fetch log fail on server, need_switch_server", "fetch_stream", this, K(svr_), + "svr_err", resp.get_err(), "svr_debug_err", resp.get_debug_err(), + K(rcode), K(resp)); + } else { + LOG_ERROR("fetch log fail on server, need_switch_server", "fetch_stream", this, K(svr_), + "svr_err", resp.get_err(), "svr_debug_err", resp.get_debug_err(), + K(rcode), K(resp)); + } } } else { need_kick_out = false;