[fix] set execution timeout for brokerload and use query timeout when… (#18694)

We should use query timeout if execution timeout is not set to upgrade.
This commit is contained in:
Yongqiang YANG
2023-04-15 20:41:04 +08:00
committed by GitHub
parent cc4778a271
commit bcff3710ca
3 changed files with 7 additions and 1 deletions

View File

@ -89,7 +89,10 @@ public:
}
int query_parallel_instance_num() const { return _query_options.parallel_instance; }
int max_errors() const { return _query_options.max_errors; }
int execution_timeout() const { return _query_options.execution_timeout; }
int execution_timeout() const {
return _query_options.__isset.execution_timeout ? _query_options.execution_timeout
: _query_options.query_timeout;
}
int max_io_buffers() const { return _query_options.max_io_buffers; }
int num_scanner_threads() const { return _query_options.num_scanner_threads; }
TQueryType::type query_type() const { return _query_options.query_type; }

View File

@ -257,6 +257,7 @@ public class StreamLoadPlanner {
params.setParams(execParams);
TQueryOptions queryOptions = new TQueryOptions();
queryOptions.setQueryType(TQueryType.LOAD);
queryOptions.setQueryTimeout(timeout);
queryOptions.setExecutionTimeout(timeout);
queryOptions.setMemLimit(taskInfo.getMemLimit());
// for stream load, we use exec_mem_limit to limit the memory usage of load channel.

View File

@ -400,6 +400,7 @@ public class Coordinator {
this.queryOptions = context.getSessionVariable().toThrift();
this.queryOptions.setEnablePipelineEngine(VectorizedUtil.isPipeline());
this.queryOptions.setBeExecVersion(Config.be_exec_version);
this.queryOptions.setQueryTimeout(context.getExecTimeout());
this.queryOptions.setExecutionTimeout(context.getExecTimeout());
}
@ -461,6 +462,7 @@ public class Coordinator {
public void setTimeout(int timeout) {
this.queryOptions.setQueryTimeout(timeout);
this.queryOptions.setExecutionTimeout(timeout);
}
public void setLoadZeroTolerance(boolean loadZeroTolerance) {