From cc18ead6d901416341be07b10bde6b44e2f6963d Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 27 May 2024 11:06:49 +0000 Subject: [PATCH] fix overwrite error code in errism mode --- .../basic/ob_temp_table_transformation_op.cpp | 10 ++++----- .../ob_temp_table_transformation_vec_op.cpp | 10 ++++----- src/sql/engine/expr/ob_expr_join_filter.cpp | 4 +++- src/sql/engine/join/ob_join_filter_op.cpp | 3 ++- .../px/exchange/ob_px_fifo_coord_op.cpp | 7 +++--- .../engine/px/exchange/ob_px_receive_op.cpp | 8 +++---- src/sql/engine/px/ob_px_coord_op.cpp | 22 +++++++++---------- src/sql/engine/px/ob_px_rpc_processor.cpp | 6 +++-- src/sql/engine/px/ob_px_scheduler.cpp | 4 ++-- src/sql/engine/px/ob_px_sqc_proxy.cpp | 3 ++- 10 files changed, 38 insertions(+), 39 deletions(-) diff --git a/src/sql/engine/basic/ob_temp_table_transformation_op.cpp b/src/sql/engine/basic/ob_temp_table_transformation_op.cpp index 60a7484cd2..d220d4a585 100644 --- a/src/sql/engine/basic/ob_temp_table_transformation_op.cpp +++ b/src/sql/engine/basic/ob_temp_table_transformation_op.cpp @@ -175,12 +175,10 @@ int ObTempTableTransformationOp::destory_interm_results() } #ifdef ERRSIM - ObSQLSessionInfo *session = ctx_.get_my_session(); - int64_t query_timeout = 0; - session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_TEMP_TABLE_NOT_DESTROY_REMOTE_INTERM_RESULT) OB_SUCCESS)) { - LOG_WARN("ObTempTableTransformationOp not destory_remote_interm_results by design", K(ret), K(query_timeout)); - return OB_SUCCESS; + int ecode = EventTable::EN_PX_TEMP_TABLE_NOT_DESTROY_REMOTE_INTERM_RESULT; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("ObTempTableTransformationOp not destory_remote_interm_results by design", K(ret)); + return ret; } #endif diff --git a/src/sql/engine/basic/ob_temp_table_transformation_vec_op.cpp b/src/sql/engine/basic/ob_temp_table_transformation_vec_op.cpp index c85b209430..064137d857 100644 --- a/src/sql/engine/basic/ob_temp_table_transformation_vec_op.cpp +++ b/src/sql/engine/basic/ob_temp_table_transformation_vec_op.cpp @@ -143,12 +143,10 @@ int ObTempTableTransformationVecOp::destory_interm_results() } #ifdef ERRSIM - ObSQLSessionInfo *session = ctx_.get_my_session(); - int64_t query_timeout = 0; - session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_TEMP_TABLE_NOT_DESTROY_REMOTE_INTERM_RESULT) OB_SUCCESS)) { - LOG_WARN("ObTempTableTransformationVecOp not destory_remote_interm_results by design", K(ret), K(query_timeout)); - return OB_SUCCESS; + int ecode = EventTable::EN_PX_TEMP_TABLE_NOT_DESTROY_REMOTE_INTERM_RESULT; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("ObTempTableTransformationOp not destory_remote_interm_results by design", K(ret)); + return ret; } #endif diff --git a/src/sql/engine/expr/ob_expr_join_filter.cpp b/src/sql/engine/expr/ob_expr_join_filter.cpp index 1b7a72cac6..435cc27fe6 100644 --- a/src/sql/engine/expr/ob_expr_join_filter.cpp +++ b/src/sql/engine/expr/ob_expr_join_filter.cpp @@ -220,9 +220,11 @@ int ObExprJoinFilter::check_rf_ready( while (!join_filter_ctx->is_ready() && OB_SUCC(exec_ctx.fast_check_status())) { if (OB_NOT_NULL(rf_msg)) { #ifdef ERRSIM - if (OB_FAIL(OB_E(EventTable::EN_PX_JOIN_FILTER_HOLD_MSG) OB_SUCCESS)) { + int ecode = EventTable::EN_PX_JOIN_FILTER_HOLD_MSG; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { LOG_WARN("join filter hold msg by design", K(ret)); ob_usleep(80000000); + ret = ecode; } #endif if (rf_msg->check_ready()) { diff --git a/src/sql/engine/join/ob_join_filter_op.cpp b/src/sql/engine/join/ob_join_filter_op.cpp index 1c546bea85..dba6e588c3 100644 --- a/src/sql/engine/join/ob_join_filter_op.cpp +++ b/src/sql/engine/join/ob_join_filter_op.cpp @@ -751,7 +751,8 @@ int ObJoinFilterOp::try_merge_join_filter() { int ret = OB_SUCCESS; #ifdef ERRSIM - if (OB_FAIL(OB_E(EventTable::EN_PX_JOIN_FILTER_NOT_MERGE_MSG) OB_SUCCESS)) { + int ecode = EventTable::EN_PX_JOIN_FILTER_NOT_MERGE_MSG; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { LOG_WARN("ERRSIM match, don't merge_join_filter by desigin", K(ret)); return OB_SUCCESS; } diff --git a/src/sql/engine/px/exchange/ob_px_fifo_coord_op.cpp b/src/sql/engine/px/exchange/ob_px_fifo_coord_op.cpp index e75b2f76d8..a9f858c353 100644 --- a/src/sql/engine/px/exchange/ob_px_fifo_coord_op.cpp +++ b/src/sql/engine/px/exchange/ob_px_fifo_coord_op.cpp @@ -142,10 +142,11 @@ int ObPxFifoCoordOp::fetch_rows(const int64_t row_cnt) ObSQLSessionInfo *session = ctx_.get_my_session(); int64_t query_timeout = 0; session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_QC_EARLY_TERMINATE, query_timeout) OB_SUCCESS)) { - LOG_WARN("fifo qc not interrupt qc by design", K(ret), K(query_timeout)); + int ecode = EVENT_CALL(EventTable::EN_PX_QC_EARLY_TERMINATE, query_timeout); + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("fifo qc not interrupt qc by design", K(ecode), K(query_timeout)); sleep(14); - return ret; + return ecode; } #endif diff --git a/src/sql/engine/px/exchange/ob_px_receive_op.cpp b/src/sql/engine/px/exchange/ob_px_receive_op.cpp index 52ba9448a1..aded4a26a3 100644 --- a/src/sql/engine/px/exchange/ob_px_receive_op.cpp +++ b/src/sql/engine/px/exchange/ob_px_receive_op.cpp @@ -505,11 +505,9 @@ int ObPxReceiveOp::erase_dtl_interm_result() { int ret = OB_SUCCESS; #ifdef ERRSIM - ObSQLSessionInfo *session = ctx_.get_my_session(); - int64_t query_timeout = 0; - session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_SINGLE_DFO_NOT_ERASE_DTL_INTERM_RESULT) OB_SUCCESS)) { - LOG_WARN("ObPxCoordOp not erase_dtl_interm_result by design", K(ret), K(query_timeout)); + int ecode = EventTable::EN_PX_SINGLE_DFO_NOT_ERASE_DTL_INTERM_RESULT; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("ObPxCoordOp not erase_dtl_interm_result by design", K(ret)); return OB_SUCCESS; } #endif diff --git a/src/sql/engine/px/ob_px_coord_op.cpp b/src/sql/engine/px/ob_px_coord_op.cpp index 4a8c468f44..b57e62f4d6 100644 --- a/src/sql/engine/px/ob_px_coord_op.cpp +++ b/src/sql/engine/px/ob_px_coord_op.cpp @@ -437,11 +437,9 @@ int ObPxCoordOp::try_clear_p2p_dh_info() int ret = OB_SUCCESS; #ifdef ERRSIM - ObSQLSessionInfo *session = ctx_.get_my_session(); - int64_t query_timeout = 0; - session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_NOT_ERASE_P2P_DH_MSG) OB_SUCCESS)) { - LOG_WARN("qc not clear p2p dh info by design", K(ret), K(query_timeout)); + int ecode = EventTable::EN_PX_NOT_ERASE_P2P_DH_MSG; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("qc not clear p2p dh info by design", K(ret)); return OB_SUCCESS; } #endif @@ -514,9 +512,11 @@ int ObPxCoordOp::inner_close() ObSQLSessionInfo *session = ctx_.get_my_session(); int64_t query_timeout = 0; session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_QC_EARLY_TERMINATE, query_timeout) OB_SUCCESS)) { - LOG_WARN("qc not interrupt qc by design", K(ret), K(query_timeout)); + int ecode = EVENT_CALL(EventTable::EN_PX_QC_EARLY_TERMINATE, query_timeout); + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("qc not interrupt qc by design", K(ecode), K(query_timeout)); should_terminate_running_dfos = false; + ret = ecode; } #endif @@ -1046,11 +1046,9 @@ int ObPxCoordOp::erase_dtl_interm_result() { int ret = OB_SUCCESS; #ifdef ERRSIM - ObSQLSessionInfo *session = ctx_.get_my_session(); - int64_t query_timeout = 0; - session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_SINGLE_DFO_NOT_ERASE_DTL_INTERM_RESULT) OB_SUCCESS)) { - LOG_WARN("ObPxCoordOp not erase_dtl_interm_result by design", K(ret), K(query_timeout)); +int ecode = EventTable::EN_PX_SINGLE_DFO_NOT_ERASE_DTL_INTERM_RESULT; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("ObPxCoordOp not erase_dtl_interm_result by design", K(ret)); return OB_SUCCESS; } #endif diff --git a/src/sql/engine/px/ob_px_rpc_processor.cpp b/src/sql/engine/px/ob_px_rpc_processor.cpp index bea8d279d4..1bb573d7f1 100644 --- a/src/sql/engine/px/ob_px_rpc_processor.cpp +++ b/src/sql/engine/px/ob_px_rpc_processor.cpp @@ -106,8 +106,10 @@ int ObInitSqcP::process() } #ifdef ERRSIM - if (OB_FAIL(OB_E(EventTable::EN_PX_SQC_INIT_PROCESS_FAILED) OB_SUCCESS)) { - LOG_WARN("match sqc execute errism", K(ret)); + int ecode = EventTable::EN_PX_SQC_INIT_PROCESS_FAILED; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { + LOG_WARN("match sqc execute errism", K(ecode)); + ret = ecode; } #endif diff --git a/src/sql/engine/px/ob_px_scheduler.cpp b/src/sql/engine/px/ob_px_scheduler.cpp index 32954bc82a..b6bea2cafc 100644 --- a/src/sql/engine/px/ob_px_scheduler.cpp +++ b/src/sql/engine/px/ob_px_scheduler.cpp @@ -339,10 +339,10 @@ int ObPxMsgProc::process_sqc_finish_msg_once(ObExecContext &ctx, const ObPxFinis // process for DM, mark sqc finished, then DM will not detect this sqc again. if (OB_NOT_NULL(edge->get_detect_cb())) { #ifdef ERRSIM - if (OB_FAIL(OB_E(EventTable::EN_PX_SLOW_PROCESS_SQC_FINISH_MSG) OB_SUCCESS)) { + int ecode = EventTable::EN_PX_SLOW_PROCESS_SQC_FINISH_MSG; + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { LOG_WARN("qc slow process sqc finish msg by desgin", K(ret)); usleep(100 * 1000L); - ret = OB_SUCCESS; } #endif int set_finish_ret = edge->get_detect_cb()->atomic_set_finished(sqc->get_sqc_addr()); diff --git a/src/sql/engine/px/ob_px_sqc_proxy.cpp b/src/sql/engine/px/ob_px_sqc_proxy.cpp index 446b2ff46f..60d00fdc90 100644 --- a/src/sql/engine/px/ob_px_sqc_proxy.cpp +++ b/src/sql/engine/px/ob_px_sqc_proxy.cpp @@ -521,7 +521,8 @@ int ObPxSQCProxy::report(int end_ret) const if (OB_SUCC(ret)) { int64_t query_timeout = 0; session->get_query_timeout(query_timeout); - if (OB_FAIL(OB_E(EventTable::EN_PX_SQC_NOT_REPORT_TO_QC, query_timeout) OB_SUCCESS)) { + int ecode = EVENT_CALL(EventTable::EN_PX_SQC_NOT_REPORT_TO_QC, query_timeout); + if (OB_SUCCESS != ecode && OB_SUCC(ret)) { static bool errsim = false; errsim = !errsim; if (errsim) {