alibaba / alibaba/havenask

sql.json配置文件参数parallel_num导致查询过滤条件失效

Open
#185 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
1.8k
Forks
352
PR merge metrics
No merged PRs in 30d

Description

在1.0版本,经过分析日志信息,增加配置文件sql.json, 将默认值"parallel_num": 1调整为"parallel_num": 10, 提高查询性能,
但是会导致查询过滤条件失效,只有将parallel_num的参数值改回1,才能正常过滤数据。
请问如何配置参数,实现并行处理?
/config/online_config/bizs/default/0/sql.json
{
"catalog_name": "",
"db_name": "",
"output_format": "",
"parallel_num": 1,
"sql_timeout": 1000,
"log_search_info_threshold": 0,
"timeout_factor": 0.5,
"sub_graph_timeout_factor": 0.9,
"sub_graph_thread_limit": 10,
"main_graph_thread_limit": 5,
"lack_result_enable": false,
"iquan_plan_prepare_level": "jni.post.optimize",
"iquan_plan_cache_enable": false,
"inner_docid_optimize_enable": false,
"parallel_tables": [],
"summary_tables": [],
"sql_runtime_task_queue": "",
"logic_tables": {
"tables": []
},
"layer_tables": {
"layer_tables": []
},
"remote_tables": {
"tables": []
},
"external_table_config": {
"gig_config": {
"subscribe": {
"cm2": {
"zk_host": "",
"zk_path": "",
"enable_cluster_biz_search": false,
"sub_master_only": false,
"sub_protocol_version": -1,
"cm2_part": [],
"cm2_part_no_topo_info": [],
"cm2_group": [],
"cm2_all_group_topo": false
},
"vip": {
"jmenv_dom": "",
"services": []
},
"istio": {
"istio_host": "",
"biz_clusters": [],
"xdsCallbackQueueSize": 1000,
"enable_host_transform": true,
"cacheFile": "./local_cache/istio_cluster_cache",
"readCache": true,
"xdsClientWorkerThreadNumber": 1,
"writeCache": true,
"writeInterval": 300
},
"local": [],
"cm2_configs": [],
"istio_configs": [],
"allow_empty_sub": true
},
"flow_control": {}
},
"service_config": {},
"table_config": {}
},
"enable_scan_timeout": true,
"async_scan_concurrency": 18446744073709551615,
"target_watermark_timeout_ratio": 0.5,
"cte_opt_ver": 0,
"need_print_slow_log_factory": -1.0,
"need_print_error_log": false,
"enable_turbojet": false,
"db_name_alias": {},
"table_name_alias": {},
"sql_agg_plugin_config": {
"modules": []
},
"sql_tvf_plugin_config": {
"modules": [],
"tvf_profiles": []
},
"iquan_client_config": {
"debug_flag": false,
"cache_config": {
"jni.post.optimize": {
"initial_capacity": 1024,
"concurrency_level": 8,
"maximum_size": 104857600
},
"rel.post.optimize": {
"initial_capacity": 1024,
"concurrency_level": 8,
"maximum_size": 4096
},
"rel.transform": {
"initial_capacity": 1024,
"concurrency_level": 8,
"maximum_size": 4096
},
"sql.parse": {
"initial_capacity": 1024,
"concurrency_level": 8,
"maximum_size": 4096
}
}
},
"iquan_jni_config": {
"table_config": {
"summary_suffix": "_summary_"
}
},
"iquan_warmup_config": {
"thread_number": 3,
"warmup_second_interval": 30,
"warmup_query_number": 1000000,
"warmup_file_path": "",
"warmup_log_name": "sql_warmup"
},
"iquan_kmon_config": {
"service_name": "",
"tenant_name": "default",
"flume_address": "127.0.0.1:4141",
"auto_recycle": true,
"global_tags": ""
},
"authentication_config": {
"enable": false,
"token_pairs": {}
},
"swift_writer_config": {
"swift_client_config": "",
"table_read_write_config": {}
},
"table_writer_config": {
"zone_names": [],
"allow_follow_write": false
}
}

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with /config/online_config/bizs/default/0/sql.json and trace how parallel_num is consumed during SQL query execution. Reproduce the difference between values 1 and 10 using a query with filtering conditions; done means parallel processing preserves filtering, with the supported configuration or limitation made clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
backend, search
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.