From 180bc0bb5a01b732ec164673055e72f7ef466afb Mon Sep 17 00:00:00 2001 From: Huang Wei Date: Wed, 3 Jan 2024 19:43:10 +0800 Subject: [PATCH 1/6] fix: scan max, doc, mics --- docs/en/deploy/conf.md | 2 +- docs/en/reference/sql/dql/SELECT_STATEMENT.md | 4 ++-- docs/zh/deploy/conf.md | 2 +- docs/zh/openmldb_sql/dql/SELECT_STATEMENT.md | 10 +++++----- docs/zh/openmldb_sql/sql_difference.md | 4 ++-- src/base/ddl_parser.cc | 4 ++-- src/flags.cc | 2 +- src/nameserver/name_server_impl.cc | 16 +++++++--------- src/sdk/sql_cluster_router.cc | 14 ++++++++++++++ src/tablet/tablet_impl.cc | 2 +- 10 files changed, 36 insertions(+), 24 deletions(-) diff --git a/docs/en/deploy/conf.md b/docs/en/deploy/conf.md index 138a414fa3d..ff6af06985b 100644 --- a/docs/en/deploy/conf.md +++ b/docs/en/deploy/conf.md @@ -187,7 +187,7 @@ #--max_traverse_cnt=0 # max table traverse unique key number(batch query), default: 0 #--max_traverse_key_cnt=0 -# max result size in byte (default: 2MB) +# max result size in byte (default: 0 unlimited) #--scan_max_bytes_size=2097152 # loadtable diff --git a/docs/en/reference/sql/dql/SELECT_STATEMENT.md b/docs/en/reference/sql/dql/SELECT_STATEMENT.md index 01a7180c914..534f71f7280 100644 --- a/docs/en/reference/sql/dql/SELECT_STATEMENT.md +++ b/docs/en/reference/sql/dql/SELECT_STATEMENT.md @@ -138,7 +138,7 @@ TableAsName ```{warning} The `SELECT` running in online mode or the stand-alone version may not obtain complete data. -Because a query may perform a large number of scans on multiple tablets, for stability, the largest number of bytes to scan is limited, namely `scan_max_bytes_size`. +The largest number of bytes to scan is limited, namely `scan_max_bytes_size`, default value is unlimited. But if you set the value of `scan_max_bytes_size` to a specific value, the `SELECT` statement will only scan the data within the specified size. If the select results are truncated, the message of `reach the max byte ...` will be recorded in the tablet's log, but there will be no error. -If the select results are truncated, the message of `reach the max byte ...` will be recorded in the tablet's log, but there will be no error. +Even if the `scan_max_bytes_size` is set to unlimited, the `SELECT` statement may failed, e.g. client errors `body_size=xxx from xx:xxxx is too large`, ` Fail to parse response from xx:xxxx by baidu_std at client-side`. We don't recommend to use `SELECT` in online mode or the stand-alone version. If you want to get the count of the online table, please use `SELECT COUNT(*) FROM table_name;`. ``` diff --git a/docs/zh/deploy/conf.md b/docs/zh/deploy/conf.md index de538720e5d..8d1268825d4 100644 --- a/docs/zh/deploy/conf.md +++ b/docs/zh/deploy/conf.md @@ -192,7 +192,7 @@ #--max_traverse_cnt=0 # 最大扫描不同key的个数(批处理),默认:0 #--max_traverse_key_cnt=0 -# 结果最大大小(byte),默认:2MB +# 结果最大大小(byte),默认:0 unlimited #--scan_max_bytes_size=2097152 # loadtable diff --git a/docs/zh/openmldb_sql/dql/SELECT_STATEMENT.md b/docs/zh/openmldb_sql/dql/SELECT_STATEMENT.md index 01b34828382..215e3917b3a 100644 --- a/docs/zh/openmldb_sql/dql/SELECT_STATEMENT.md +++ b/docs/zh/openmldb_sql/dql/SELECT_STATEMENT.md @@ -115,12 +115,9 @@ select_expression: | `ORDER BY` Clause | **``x``** | **``x``** | **``x``** | 标准SQL还支持Order By子句。OpenMLDB目前尚未支持Order子句。例如,查询语句`SELECT * from t1 ORDER BY col1;`在OpenMLDB中不被支持。 | ```{warning} -在线模式或单机版的select,可能无法获取完整数据。 -因为一次查询可能在多台tablet 上进行大量的扫描,为了tablet 的稳定性,单个tablet 限制了最大扫描数据量,即`scan_max_bytes_size`。 +在线模式或单机版的select,可能无法获取完整数据。单个tablet 限制了最大扫描数据量,即`scan_max_bytes_size`,默认为无限。但如果你配置了它,查询的数据量超过这个值,会出现结果截断。如果出现select结果截断,tablet 会出现`reach the max byte ...`的日志,但查询不会报错。 -如果出现select结果截断,tablet 会出现`reach the max byte ...`的日志,但查询不会报错。 - -在线模式或单机版都不适合做大数据的扫描,推荐使用集群版的离线模式。如果一定要调大扫描量,需要对每台tablet配置`--scan_max_bytes_size=xxx`,并重启tablet生效。 +即使你没有配置`scan_max_bytes_size`,也可能出现select失败,比如 `body_size=xxx from xx:xxxx is too large`, ` Fail to parse response from xx:xxxx by baidu_std at client-side`等错误。我们不推荐全表扫描在线表,如果你想获得在线表的数据条数,可以使用`SELECT COUNT(*) FROM table_name`。 ``` ## FROM Clause @@ -142,17 +139,20 @@ FROM 子句的来源可以是: ```{attention} 离线同步模式 Query 仅用于展示,不保证结果完整。整个结果收集中可能出现文件写入失败,丢失HTTP包等问题,我们允许结果缺失。 ``` + ### 相关配置参数 TaskManager配置`batch.job.result.max.wait.time`,在 Query job完成后,我们会等待所有结果被收集并保存在TaskManager所在主机的文件系统中,超过这一时间将结束等待,返回错误。如果认为整个收集结果的过程没有问题,仅仅是等待时间不够,可以调大这一配置项,单位为ms,默认为10min。 Batch配置(spark.default.conf): + - spark.openmldb.savejobresult.rowperpost: 为了防止HTTP传送过多数据,我们对数据进行切割,默认为16000行。如果单行数据量较大,可以调小该值。 - spark.openmldb.savejobresult.posttimeouts: HTTP传送数据的超时配置,共三个超时配置项,用`,`分隔,分别为`ConnectionRequestTimeout,ConnectTimeout,SocketTimeout`,默认为`10000,10000,10000`。如果出现HTTP传输超时,可调整这一参数。 ### 重置 如果使用过程中出现错误,可能导致Result Id无法正确重置。所有Result Id都被虚假占用时,会出现错误"too much running jobs to save job result, reject this spark job"。这时可以通过HTTP请求TaskManager来重置,POST内容如下: + ``` curl -H "Content-Type:application/json" http://0.0.0.0:9902/openmldb.taskmanager.TaskManagerServer/SaveJobResult -X POST -d '{"result_id":-1, "json_data": "reset"}' ``` diff --git a/docs/zh/openmldb_sql/sql_difference.md b/docs/zh/openmldb_sql/sql_difference.md index b224db6d567..8effa43939e 100644 --- a/docs/zh/openmldb_sql/sql_difference.md +++ b/docs/zh/openmldb_sql/sql_difference.md @@ -41,10 +41,10 @@ 相关参数会在 tablet 配置文件 conf/tablet.flags 里进行配置,详见文档[配置文件](../deploy/conf.md#tablet配置文件-conftabletflags) 。影响到扫描限制的参数为: - 最大扫描条数 `--max_traverse_cnt` -- 最大扫描 key 的个数 `--max_traverse_pk_cnt` +- 最大扫描 key 的个数 `--max_traverse_pk_cnt/max_traverse_key_cnt` - 返回的结果大小限制 `--scan_max_bytes_size` -预计在 v0.7.3 以及以后版本中,以上参数的默认值都为 0,即不做相关限制。之前的版本需要注意相关参数的设置。 +v0.8.0及以后版本,删除`max_traverse_pk_cnt`,使用`max_traverse_key_cnt`,前两个参数默认值改为0,即不受限制。v0.8.4以后(不包括)版本`--scan_max_bytes_size`默认也为0。之前的版本需要注意相关参数的设置。 ### WHERE 子句 diff --git a/src/base/ddl_parser.cc b/src/base/ddl_parser.cc index 2af468bea95..4f3d631a1fc 100644 --- a/src/base/ddl_parser.cc +++ b/src/base/ddl_parser.cc @@ -443,13 +443,13 @@ void IndexMapBuilder::Report(absl::string_view db, absl::string_view table, absl // we encode table, keys and ts to one string auto index = Encode(db, table, keys, ts); if (index.empty()) { - LOG(WARNING) << "index encode failed for table " << table; + LOG(WARNING) << "index encode failed for table " << db << "." << table; return; } if (index_map_.find(index) != index_map_.end()) { // index id has unique idx, can't be dup. It's a weird case - LOG(DFATAL) << "index " << index << " existed in cache"; + LOG(DFATAL) << db << "." << table << " index " << index << " existed in cache"; return; } diff --git a/src/flags.cc b/src/flags.cc index 42e085781eb..147efb5956e 100644 --- a/src/flags.cc +++ b/src/flags.cc @@ -76,7 +76,7 @@ DEFINE_bool(enable_localtablet, true, "enable or disable local tablet opt when d DEFINE_string(bucket_size, "1d", "the default bucket size in pre-aggr table"); // scan configuration -DEFINE_uint32(scan_max_bytes_size, 2 * 1024 * 1024, "config the max size of scan bytes size"); +DEFINE_uint32(scan_max_bytes_size, 0, "config the max size of scan bytes size, 0 means unlimit"); // if scan result is too large, let it fail DEFINE_uint32(scan_reserve_size, 1024, "config the size of vec reserve"); DEFINE_uint32(preview_limit_max_num, 1000, "config the max num of preview limit"); DEFINE_uint32(preview_default_limit, 100, "config the default limit of preview"); diff --git a/src/nameserver/name_server_impl.cc b/src/nameserver/name_server_impl.cc index d9ce3aff439..65be948ff94 100644 --- a/src/nameserver/name_server_impl.cc +++ b/src/nameserver/name_server_impl.cc @@ -8640,7 +8640,10 @@ void NameServerImpl::AddIndex(RpcController* controller, const AddIndexRequest* } } } - AddIndexToTableInfo(name, db, column_key_vec, nullptr); + // no rollback now + if(!AddIndexToTableInfo(name, db, column_key_vec, nullptr)) { + base::SetResponseStatus(ReturnCode::kAddIndexFailed, "add to table info failed", response); + } } base::SetResponseOK(response); LOG(INFO) << "add index. table[" << name << "] index count[" << column_key_vec.size() << "]"; @@ -9362,14 +9365,9 @@ base::Status NameServerImpl::CreateProcedureOnTablet(const ::openmldb::api::Crea for (auto tb_client : tb_client_vec) { auto status = tb_client->CreateProcedure(sp_request); if (!status.OK()) { - std::string err_msg; - char temp_msg[100]; - snprintf(temp_msg, sizeof(temp_msg), - "create procedure on tablet failed. db_name[%s], sp_name[%s], endpoint[%s]. ", - sp_info.db_name().c_str(), sp_info.sp_name().c_str(), tb_client->GetEndpoint().c_str()); - absl::StrAppend(&err_msg, temp_msg, "msg: ", status.GetMsg()); - LOG(WARNING) << err_msg; - return {base::ReturnCode::kCreateProcedureFailedOnTablet, err_msg}; + return {base::ReturnCode::kCreateProcedureFailedOnTablet, + absl::StrCat("create procedure on tablet failed, sp ", sp_info.db_name(), ".", sp_info.sp_name(), + ", endpoint: ", tb_client->GetEndpoint(), ", msg: ", status.GetMsg())}; } DLOG(INFO) << "create procedure on tablet success. db_name: " << sp_info.db_name() << ", " << "sp_name: " << sp_info.sp_name() << ", " diff --git a/src/sdk/sql_cluster_router.cc b/src/sdk/sql_cluster_router.cc index 0e172322921..54ac13bcb4f 100644 --- a/src/sdk/sql_cluster_router.cc +++ b/src/sdk/sql_cluster_router.cc @@ -2721,6 +2721,7 @@ std::shared_ptr SQLClusterRouter::ExecuteSQL( return {}; } column_key.set_index_name(create_index_node->index_name_); + // no skip load data, so it's always be a async op if (ns_ptr->AddIndex(db_name, create_index_node->table_name_, column_key, nullptr, msg)) { *status = {::hybridse::common::StatusCode::kOk, "AddIndex is an asynchronous job. Run 'SHOW JOBS FROM NAMESERVER' to see the job status"}; @@ -3755,6 +3756,19 @@ hybridse::sdk::Status SQLClusterRouter::HandleDeploy(const std::string& db, if (!get_index_status.IsOK()) { return get_index_status; } + std::stringstream index_stream; + for (auto[db, db_map] : new_index_map) { + for (auto[table, index_list] : db_map) { + for (auto index : index_list) { + index_stream << db << "-" << table << "-"; + for (auto col : index.col_name()) { + index_stream << col << ","; + } + index_stream << "|" << index.ts_name() << ";"; + } + } + } + LOG(INFO) << "should create new indexs: " << index_stream.str(); if (!new_index_map.empty()) { if (cluster_sdk_->IsClusterMode() && record_cnt > 0) { diff --git a/src/tablet/tablet_impl.cc b/src/tablet/tablet_impl.cc index 2c506be510f..7bd1e87b4d6 100644 --- a/src/tablet/tablet_impl.cc +++ b/src/tablet/tablet_impl.cc @@ -1642,7 +1642,7 @@ void TabletImpl::ProcessQuery(bool is_sub, RpcController* ctrl, const openmldb:: uint32_t byte_size = 0; uint32_t count = 0; for (auto& output_row : output_rows) { - if (byte_size > FLAGS_scan_max_bytes_size) { + if (FLAGS_scan_max_bytes_size > 0 && byte_size > FLAGS_scan_max_bytes_size) { LOG(WARNING) << "reach the max byte size " << FLAGS_scan_max_bytes_size << " truncate result"; response->set_schema(session.GetEncodedSchema()); response->set_byte_size(byte_size); From fed2197396129311307aa1f6c6fecf70f3eff124 Mon Sep 17 00:00:00 2001 From: Huang Wei Date: Thu, 4 Jan 2024 15:18:48 +0800 Subject: [PATCH 2/6] fix --- src/flags.cc | 3 ++- src/nameserver/name_server_impl.cc | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/flags.cc b/src/flags.cc index 147efb5956e..7962b10e054 100644 --- a/src/flags.cc +++ b/src/flags.cc @@ -76,7 +76,8 @@ DEFINE_bool(enable_localtablet, true, "enable or disable local tablet opt when d DEFINE_string(bucket_size, "1d", "the default bucket size in pre-aggr table"); // scan configuration -DEFINE_uint32(scan_max_bytes_size, 0, "config the max size of scan bytes size, 0 means unlimit"); // if scan result is too large, let it fail +// max bytes size: write all even if scan result is too large, let it fail in client(receiver) +DEFINE_uint32(scan_max_bytes_size, 0, "config the max size of scan bytes size, 0 means unlimit"); DEFINE_uint32(scan_reserve_size, 1024, "config the size of vec reserve"); DEFINE_uint32(preview_limit_max_num, 1000, "config the max num of preview limit"); DEFINE_uint32(preview_default_limit, 100, "config the default limit of preview"); diff --git a/src/nameserver/name_server_impl.cc b/src/nameserver/name_server_impl.cc index 65be948ff94..8289252777a 100644 --- a/src/nameserver/name_server_impl.cc +++ b/src/nameserver/name_server_impl.cc @@ -8641,7 +8641,7 @@ void NameServerImpl::AddIndex(RpcController* controller, const AddIndexRequest* } } // no rollback now - if(!AddIndexToTableInfo(name, db, column_key_vec, nullptr)) { + if (!AddIndexToTableInfo(name, db, column_key_vec, nullptr)) { base::SetResponseStatus(ReturnCode::kAddIndexFailed, "add to table info failed", response); } } From a7b6373fbb610cb3ccfd9ffbcc6e4714948ae027 Mon Sep 17 00:00:00 2001 From: Huang Wei Date: Fri, 5 Jan 2024 11:36:28 +0800 Subject: [PATCH 3/6] fix --- src/tablet/tablet_impl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tablet/tablet_impl.cc b/src/tablet/tablet_impl.cc index 7bd1e87b4d6..eb5067e32b1 100644 --- a/src/tablet/tablet_impl.cc +++ b/src/tablet/tablet_impl.cc @@ -970,7 +970,7 @@ int32_t TabletImpl::ScanIndex(const ::openmldb::api::ScanRequest* request, const total_block_size += data.size(); } record_count++; - if (total_block_size > FLAGS_scan_max_bytes_size) { + if (FLAGS_scan_max_bytes_size > 0 && total_block_size > FLAGS_scan_max_bytes_size) { *is_finish = false; break; } From 42f7bc6337b279fd6b57fcad205e7f0c4b48334f Mon Sep 17 00:00:00 2001 From: Huang Wei Date: Tue, 9 Jan 2024 11:33:32 +0800 Subject: [PATCH 4/6] fix --- docs/en/deploy/conf.md | 2 +- release/conf/tablet.flags.template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/deploy/conf.md b/docs/en/deploy/conf.md index ff6af06985b..5ca1ba9dcee 100644 --- a/docs/en/deploy/conf.md +++ b/docs/en/deploy/conf.md @@ -188,7 +188,7 @@ # max table traverse unique key number(batch query), default: 0 #--max_traverse_key_cnt=0 # max result size in byte (default: 0 unlimited) -#--scan_max_bytes_size=2097152 +#--scan_max_bytes_size=0 # loadtable # The number of data bars to submit a task to the thread pool when loading diff --git a/release/conf/tablet.flags.template b/release/conf/tablet.flags.template index d5109a9abaf..d4f615d5c69 100644 --- a/release/conf/tablet.flags.template +++ b/release/conf/tablet.flags.template @@ -88,8 +88,8 @@ #--max_traverse_cnt=0 # max table traverse unique key number(batch query), default: 0 #--max_traverse_key_cnt=0 -# max result size in byte (default: 2MB) -#--scan_max_bytes_size=2097152 +# max result size in byte (default: 0 ulimited) +#--scan_max_bytes_size=0 # loadtable #--load_table_batch=30 From 4902ca0a31773dbe4f3faa5cd4c1a89ff78ee8d3 Mon Sep 17 00:00:00 2001 From: Huang Wei Date: Tue, 9 Jan 2024 12:07:22 +0800 Subject: [PATCH 5/6] unique ptr it --- src/datacollector/data_collector.cc | 2 +- src/log/log_reader.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/datacollector/data_collector.cc b/src/datacollector/data_collector.cc index 1af941226cf..2d5ee990122 100644 --- a/src/datacollector/data_collector.cc +++ b/src/datacollector/data_collector.cc @@ -57,7 +57,7 @@ namespace openmldb::datacollector { std::string LogPartsToString(replica::LogParts* log_parts) { std::stringstream ss; ss << "["; - auto it = log_parts->NewIterator(); + std::unique_ptr it(log_parts->NewIterator()); it->SeekToFirst(); while (it->Valid()) { ss << "(" << it->GetKey() << ", " << it->GetValue() << "),"; diff --git a/src/log/log_reader.cc b/src/log/log_reader.cc index e012d5680c3..e6752c5c52c 100644 --- a/src/log/log_reader.cc +++ b/src/log/log_reader.cc @@ -438,7 +438,7 @@ LogReader::LogReader(LogParts* logs, const std::string& log_path, bool compresse start_offset_ = 0; compressed_ = compressed; - auto it = logs_->NewIterator(); + std::unique_ptr it(logs_->NewIterator()); it->SeekToLast(); if (it->Valid()) { min_offset_ = it->GetValue(); From 2c59cc0cebc6891ef6fd558cd21eda6f9a33f592 Mon Sep 17 00:00:00 2001 From: huangwei Date: Tue, 16 Jan 2024 11:26:10 +0800 Subject: [PATCH 6/6] fix --- docs/en/quickstart/concepts/modes.md | 2 +- docs/zh/deploy/conf.md | 2 +- docs/zh/quickstart/concepts/modes.md | 2 +- .../tmp/openmldb/tablet-1/conf/tablet.flags | 12 ++++++------ .../tmp/openmldb/tablet-2/conf/tablet.flags | 12 ++++++------ 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/en/quickstart/concepts/modes.md b/docs/en/quickstart/concepts/modes.md index d27f33ab001..0a66b02b0c2 100644 --- a/docs/en/quickstart/concepts/modes.md +++ b/docs/en/quickstart/concepts/modes.md @@ -59,7 +59,7 @@ The main features of the online preview mode are: - Online preview mode is mainly used for previewing limited data. Selecting and viewing data directly through SELECT in OpenMLDB CLI or SDKs may result in data truncation. If the data volume is large, it is recommended to use an [export tool](../../tutorial/data_export.html) to view the complete data. - SELECT statements in online preview mode currently do not support more complex queries such as `LAST JOIN` and `ORDER BY`. Refer to [SELECT](../../openmldb_sql/dql/SELECT_STATEMENT.html). - The server in the online preview mode executes SQL statements on a single thread. For large data processing, it may be slow and may trigger a timeout. To increase the timeout period, the `--request_timeout` can be configured on the client. -- To prevent impact on online services, online preview mode limits the maximum number of accessed records and the number of different keys. This can be configured using `--max_traverse_cnt` and `--max_traverse_key_cnt`. Similarly, the maximum result size can be set using `--scan_max_bytes_size`. For detailed configuration, refer to the [configuration file](../../deploy/conf.md). +- To prevent impact on online services, you can limit the maximum number of accessed records and the number of different keys in online preview mode. This can be configured using `--max_traverse_cnt` and `--max_traverse_key_cnt`. Similarly, the maximum result size can be set using `--scan_max_bytes_size`. For detailed configuration, refer to the [configuration file](../../deploy/conf.md). The command for setting online preview mode in OpenMLDB CLI: `SET @@execute_mode='online'` diff --git a/docs/zh/deploy/conf.md b/docs/zh/deploy/conf.md index 8d1268825d4..56b3f7f3df3 100644 --- a/docs/zh/deploy/conf.md +++ b/docs/zh/deploy/conf.md @@ -193,7 +193,7 @@ # 最大扫描不同key的个数(批处理),默认:0 #--max_traverse_key_cnt=0 # 结果最大大小(byte),默认:0 unlimited -#--scan_max_bytes_size=2097152 +#--scan_max_bytes_size=0 # loadtable # load时給线程池提交一次任务的数据条数 diff --git a/docs/zh/quickstart/concepts/modes.md b/docs/zh/quickstart/concepts/modes.md index b55ef32dd71..df8beaa79c6 100644 --- a/docs/zh/quickstart/concepts/modes.md +++ b/docs/zh/quickstart/concepts/modes.md @@ -58,7 +58,7 @@ OpenMLDB CLI 启动以后的**默认模式为离线模式**。离线数据导入 - 在线预览模式主要用于有限数据的预览,在 OpenMLDB CLI 或者 SDKs 执行 SELECT 直接查看数据可能出现数据截断;如果数据量较大,建议使用[导出工具](https://openmldb.ai/docs/zh/main/tutorial/data_export.html)查看完整数据。 - 在线预览模式的 SELECT 语句目前不支持 `LAST JOIN` 和 `ORDER BY` 等较复杂的查询,参考 [`SELECT`](https://openmldb.ai/docs/zh/main/openmldb_sql/dql/SELECT_STATEMENT.html)。 - 在线预览模式服务端均为单线程执行 SQL,对于大数据处理,会比较慢,有可能会触发超时,可以通过在客户端配置 `--request_timeout` 来提高超时时间。 -- 为了防止影响线上服务,在线预览模式控制了最大访问的条数和不同key的个数,可以通过`--max_traverse_cnt` 和 `--max_traverse_key_cnt` 来设置; +- 为了防止影响线上服务,可以在在线预览模式中控制最大访问的条数和不同key的个数,可以通过`--max_traverse_cnt` 和 `--max_traverse_key_cnt` 来设置; 同时,通过 `--scan_max_bytes_size` 来限制结果的大小。详细配置可参考[配置文件](../../deploy/conf.md)。 在线预览模式设置命令 (OpenMLDB CLI):`SET @@execute_mode='online'` diff --git a/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-1/conf/tablet.flags b/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-1/conf/tablet.flags index 0ad78be8f67..568acd398d0 100644 --- a/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-1/conf/tablet.flags +++ b/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-1/conf/tablet.flags @@ -82,12 +82,12 @@ #--key_entry_max_height=8 # query conf -# max table traverse iteration(full table scan/aggregation),default: 50000 -#--max_traverse_cnt=50000 -# max table traverse pk number(batch query), default: 5000 -#--max_traverse_pk_cnt=5000 -# max result size in byte (default: 2MB) -#--scan_max_bytes_size=2097152 +# max table traverse iteration(full table scan/aggregation),default: 0 +#--max_traverse_cnt=0 +# max table traverse pk number(batch query), default: 0 +#--max_traverse_pk_cnt=0 +# max result size in byte (default: 0 ulimited) +#--scan_max_bytes_size=0 # loadtable #--load_table_batch=30 diff --git a/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-2/conf/tablet.flags b/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-2/conf/tablet.flags index d7866ff32bd..51f629ff2ba 100644 --- a/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-2/conf/tablet.flags +++ b/python/openmldb_tool/tests/sbin_test/tmp/openmldb/tablet-2/conf/tablet.flags @@ -82,12 +82,12 @@ #--key_entry_max_height=8 # query conf -# max table traverse iteration(full table scan/aggregation),default: 50000 -#--max_traverse_cnt=50000 -# max table traverse pk number(batch query), default: 5000 -#--max_traverse_pk_cnt=5000 -# max result size in byte (default: 2MB) -#--scan_max_bytes_size=2097152 +# max table traverse iteration(full table scan/aggregation),default: 0 +#--max_traverse_cnt=0 +# max table traverse pk number(batch query), default: 0 +#--max_traverse_pk_cnt=0 +# max result size in byte (default: 0 ulimited) +#--scan_max_bytes_size=0 # loadtable #--load_table_batch=30