fix querytimeout bug

This commit is contained in:
yongshige
2023-05-21 06:11:52 +00:00
committed by ob-robot
parent 016dfbdde8
commit 9f340745b6
3 changed files with 39 additions and 16 deletions

View File

@ -2816,6 +2816,22 @@ int ObLoadDataSPImpl::ToolBox::init(ObExecContext &ctx, ObLoadDataStmt &load_stm
LOG_DEBUG("batch size", K(hint_batch_size), K(batch_row_count));
}
if (OB_SUCC(ret)) {
int64_t query_timeout = 0;
if (OB_FAIL(hint.get_value(ObLoadDataHint::QUERY_TIMEOUT, query_timeout))) {
LOG_WARN("fail to get value", K(ret));
} else if (0 == query_timeout) {
if (OB_FAIL(ctx.get_my_session()->get_query_timeout(query_timeout))) {
LOG_WARN("fail to get query timeout", KR(ret));
} else {
query_timeout = MAX(query_timeout, RPC_BATCH_INSERT_TIMEOUT_US);
THIS_WORKER.set_timeout_ts(ctx.get_my_session()->get_query_start_time() + query_timeout);
}
} else if (query_timeout > 0) {
THIS_WORKER.set_timeout_ts(ctx.get_my_session()->get_query_start_time() + query_timeout);
}
}
if (OB_SUCC(ret)) {
if (OB_FAIL(parser.init(file_formats, num_of_file_column, load_args.file_cs_type_))) {
LOG_WARN("fail to init parser", K(ret));