[4.2][NetStandby] Modify log level for OB_TIMEOUT and fix a problem

This commit is contained in:
obdev
2023-06-28 11:18:21 +00:00
committed by ob-robot
parent 8aee534b66
commit a587dddecc

View File

@ -1234,32 +1234,46 @@ 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) {
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");
}
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
else if (OB_SUCCESS != resp.get_err()) {
// 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 ) {
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");
}
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;
}