diff --git a/.gitlab_test.yaml b/.gitlab_test.yaml new file mode 100644 index 000000000..292ff9665 --- /dev/null +++ b/.gitlab_test.yaml @@ -0,0 +1,134 @@ +- name: pass_prepare + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-事务 + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-RS组 + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-日志 + must_success: + false +- name: weak_read + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-事务 + must_success: + false +- name: duplicate_table_access + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-事务 + must_success: + false +- name: PREPARE_STANDBY + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-RS组 + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-日志 + must_success: + false +- name: direct_load + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-索引与DDL + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-物化 + must_success: + false +- name: ddlhome + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-索引与DDL + must_success: + false +- name: mv_home + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-物化 + must_success: + false +- name: obtest + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-高可靠 + must_success: + false +- name: obbstool_farm + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-存储-高可靠 + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-云存储 + must_success: + false +- name: stress_json + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-深圳研发中心 + must_success: + false +- name: stress_xml_4.2 + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-深圳研发中心 + must_success: + false +- name: PASS_SQL + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-SQL-执行器 + - OceanBase-OceanBase-产品技术部-技术部-SQL-优化器 + must_success: + false +- name: PASS_PL + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-SQL-存储过程 + must_success: + false +- name: VOS_PASS + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-系统 + must_success: + false +- name: PASS_DAS + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-交互诊断 + must_success: + false +- name: QA_DAS_REGRESSION + scope: + branch: + - '*' + dept: + - OceanBase-OceanBase-产品技术部-技术部-底层引擎部-交互诊断 + must_success: + false diff --git a/build.sh b/build.sh index aed1edac5..745f6836b 100755 --- a/build.sh +++ b/build.sh @@ -178,6 +178,11 @@ function build # build soft link for ccls ln -sf ${TOPDIR}/build_ccls/compile_commands.json ${TOPDIR}/compile_commands.json ;; + xclangd) + do_build "$@" -DCMAKE_BUILD_TYPE=Debug -DOB_USE_LLD=$LLD_OPTION -DOB_ENABLE_UNITY=OFF + # build soft link for clangd + ln -sf ${TOPDIR}/build_clangd/compile_commands.json ${TOPDIR}/compile_commands.json + ;; xperf) do_build "$@" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_AUTO_FDO=ON -DENABLE_THIN_LTO=ON -DOB_USE_LLD=$LLD_OPTION ;; diff --git a/src/rootserver/ob_balance_task_execute_service.cpp b/src/rootserver/ob_balance_task_execute_service.cpp index 921e8dabb..c3bb9b4a1 100755 --- a/src/rootserver/ob_balance_task_execute_service.cpp +++ b/src/rootserver/ob_balance_task_execute_service.cpp @@ -343,10 +343,10 @@ int ObBalanceTaskExecuteService::execute_task_() ObTimeoutCtx timeout_ctx; const int64_t balance_task_execute_timeout = GCONF.internal_sql_execute_timeout + 100 * 1000 * 1000L; // +100s DEBUG_SYNC(BEFORE_EXECUTE_BALANCE_TASK); - if (OB_FAIL(trans.start(sql_proxy_, tenant_id_))) { - LOG_WARN("failed to start trans", KR(ret), K(tenant_id_)); - } else if (OB_FAIL(ObShareUtil::set_default_timeout_ctx(timeout_ctx, balance_task_execute_timeout))) { + if (OB_FAIL(ObShareUtil::set_default_timeout_ctx(timeout_ctx, balance_task_execute_timeout))) { LOG_WARN("failed to get rs default timeout ctx", KR(ret)); + } else if (OB_FAIL(trans.start(sql_proxy_, tenant_id_))) { + LOG_WARN("failed to start trans", KR(ret), K(tenant_id_)); } else if (OB_FAIL(get_balance_job_task_for_update_(task, job, task_in_trans, trans))) { LOG_WARN("failed to get job", KR(ret), K(task)); } else if (task_in_trans.get_task_status().is_finish_status()) { diff --git a/src/share/balance/ob_balance_task_table_operator.cpp b/src/share/balance/ob_balance_task_table_operator.cpp index a32fe1b38..d6dbcdd85 100644 --- a/src/share/balance/ob_balance_task_table_operator.cpp +++ b/src/share/balance/ob_balance_task_table_operator.cpp @@ -17,6 +17,7 @@ #include "lib/mysqlclient/ob_mysql_result.h"//MySQLResult #include "lib/mysqlclient/ob_mysql_proxy.h"//MySQLResult #include "lib/mysqlclient/ob_mysql_transaction.h"//ObMySQLTrans +#include "lib/utility/ob_tracepoint.h" // ERRSIM_POINT_DEF #include "share/inner_table/ob_inner_table_schema.h"//ALL_BALANCE_TASK_TNAME #include "share/ob_dml_sql_splicer.h"//ObDMLSqlSplicer #include "share/balance/ob_balance_job_table_operator.h"//job_status @@ -604,6 +605,8 @@ int ObBalanceTaskTableOperator::start_transfer_task(const uint64_t tenant_id, return ret; } +ERRSIM_POINT_DEF(EN_FINISH_TRANSFER_TASK_COST_TOO_MUCH_TIME); + int ObBalanceTaskTableOperator::finish_transfer_task( const ObBalanceTask &balance_task, const ObTransferTaskID transfer_task_id, @@ -670,6 +673,11 @@ int ObBalanceTaskTableOperator::finish_transfer_task( all_part_transferred = true; } + // only for test + if (EN_FINISH_TRANSFER_TASK_COST_TOO_MUCH_TIME) { + ob_usleep(31 * 1000 * 1000L); // default internal_sql_execute_timeout + 1s + } + return ret; } //maybe in trans TODO