fix -4114 when executing sql with tenant in stop state

This commit is contained in:
zhjc1124
2023-08-30 06:40:47 +00:00
committed by ob-robot
parent 047d715468
commit 11388a5a38

View File

@ -559,7 +559,10 @@ int ObSrvDeliver::deliver_rpc_request(ObRequest &req)
piece.is_server_ = true; piece.is_server_ = true;
piece.is_deliver_ = true; piece.is_deliver_ = true;
RPC_STAT(pkt.get_pcode(), tenant->id(), piece); RPC_STAT(pkt.get_pcode(), tenant->id(), piece);
if (OB_FAIL(tenant->recv_request(req))) { if (tenant->has_stopped()) {
ret = OB_TENANT_NOT_IN_SERVER;
LOG_WARN("tenant is stopped", K(ret), K(tenant->id()));
} else if (OB_FAIL(tenant->recv_request(req))) {
if (REACH_TIME_INTERVAL(5 * 1000 * 1000)) { if (REACH_TIME_INTERVAL(5 * 1000 * 1000)) {
LOG_WARN("tenant receive request fail", K(*tenant), K(req)); LOG_WARN("tenant receive request fail", K(*tenant), K(req));
} }
@ -730,16 +733,17 @@ int ObSrvDeliver::deliver_mysql_request(ObRequest &req)
K(tenant_id), K(ret)); K(tenant_id), K(ret));
}*/ }*/
if (OB_SUCC(ret) && OB_FAIL(tenant->recv_request(req))) { if (OB_FAIL(ret)) {
// do nothing
} else if (tenant->has_stopped()) {
ret = OB_TENANT_NOT_IN_SERVER;
LOG_WARN("tenant is stopped", K(ret), K(tenant->id()));
} else if (OB_FAIL(tenant->recv_request(req))) {
EVENT_INC(MYSQL_DELIVER_FAIL); EVENT_INC(MYSQL_DELIVER_FAIL);
if (OB_IN_STOP_STATE == ret) {
LOG_WARN("deliver request fail", K(req), K(*tenant));
} else {
LOG_ERROR("deliver request fail", K(req), K(*tenant)); LOG_ERROR("deliver request fail", K(req), K(*tenant));
} }
} }
} }
}
return ret; return ret;
} }