Skip to content

Conversation

@zhiqiang-hhhh
Copy link
Contributor

What problem does this PR solve?

Currently if input rows of ann topn search is less than 30% of the segment, we will fall back to brute force search for a better recall.

This pr intruduces a new session var ann_topn_min_input_rows_ratio to make threshold configurable.

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Thearas
Copy link
Contributor

Thearas commented Jan 16, 2026

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@zhiqiang-hhhh
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 31870 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 43e1e44a64ab2448408c6da658809b9120ff5ffb, data reload: false

------ Round 1 ----------------------------------
q1	17672	4289	4155	4155
q2	2075	382	239	239
q3	10153	1306	732	732
q4	10199	829	324	324
q5	7505	2040	1901	1901
q6	187	172	143	143
q7	946	788	658	658
q8	9278	1427	1217	1217
q9	4898	4786	4559	4559
q10	6714	1780	1425	1425
q11	487	306	280	280
q12	725	727	586	586
q13	17762	3868	3144	3144
q14	287	298	274	274
q15	592	522	507	507
q16	700	682	655	655
q17	662	766	525	525
q18	6750	6467	6473	6467
q19	1097	987	613	613
q20	396	358	249	249
q21	3023	2425	2264	2264
q22	1017	953	962	953
Total cold run time: 103125 ms
Total hot run time: 31870 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4074	4079	4049	4049
q2	344	404	320	320
q3	2148	2640	2214	2214
q4	1339	1799	1330	1330
q5	4050	3981	3997	3981
q6	212	172	130	130
q7	1917	1819	1677	1677
q8	2950	2505	2548	2505
q9	7323	7196	7198	7196
q10	2564	2736	2278	2278
q11	560	479	444	444
q12	685	790	610	610
q13	3685	4161	3462	3462
q14	291	314	304	304
q15	541	503	514	503
q16	639	671	647	647
q17	1189	1387	1384	1384
q18	7939	8076	7769	7769
q19	905	876	908	876
q20	1971	2054	1949	1949
q21	4786	4517	4537	4517
q22	1183	1105	968	968
Total cold run time: 51295 ms
Total hot run time: 49113 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173685 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 43e1e44a64ab2448408c6da658809b9120ff5ffb, data reload: false

query5	4427	628	483	483
query6	345	223	212	212
query7	4225	477	261	261
query8	329	240	239	239
query9	8658	2880	2894	2880
query10	508	376	309	309
query11	15286	15184	14847	14847
query12	171	115	110	110
query13	1247	472	369	369
query14	6240	3120	2784	2784
query14_1	2664	2614	2648	2614
query15	193	192	175	175
query16	975	415	472	415
query17	1074	643	537	537
query18	2472	455	321	321
query19	223	213	207	207
query20	123	114	116	114
query21	212	139	118	118
query22	3859	3900	3818	3818
query23	16019	15729	15340	15340
query23_1	15257	15570	15405	15405
query24	7170	1533	1188	1188
query24_1	1163	1199	1178	1178
query25	510	440	389	389
query26	1242	262	150	150
query27	2776	452	282	282
query28	4564	2166	2146	2146
query29	762	526	429	429
query30	319	236	213	213
query31	800	632	563	563
query32	93	101	76	76
query33	516	350	306	306
query34	914	866	525	525
query35	725	745	676	676
query36	883	937	856	856
query37	141	104	83	83
query38	2723	2757	2630	2630
query39	779	748	709	709
query39_1	708	702	716	702
query40	221	142	118	118
query41	67	63	63	63
query42	103	100	98	98
query43	470	422	432	422
query44	1345	757	748	748
query45	188	197	178	178
query46	830	945	586	586
query47	1407	1453	1383	1383
query48	310	333	241	241
query49	612	416	336	336
query50	625	269	204	204
query51	3785	3873	3843	3843
query52	105	110	98	98
query53	285	323	278	278
query54	311	263	256	256
query55	79	85	81	81
query56	303	296	295	295
query57	1024	1014	908	908
query58	267	267	251	251
query59	2129	2168	2030	2030
query60	356	346	337	337
query61	175	171	167	167
query62	397	356	312	312
query63	301	266	264	264
query64	5102	1362	1045	1045
query65	3737	3704	3759	3704
query66	1483	429	331	331
query67	15629	15687	15405	15405
query68	2387	1120	774	774
query69	450	361	333	333
query70	981	969	880	880
query71	324	316	297	297
query72	5486	3347	3313	3313
query73	620	718	304	304
query74	8752	8701	8548	8548
query75	2752	2821	2466	2466
query76	2290	1056	663	663
query77	373	384	306	306
query78	9783	9906	9136	9136
query79	1067	912	599	599
query80	1312	577	466	466
query81	552	258	237	237
query82	1164	140	109	109
query83	375	259	238	238
query84	252	112	98	98
query85	886	478	423	423
query86	416	326	290	290
query87	2850	2866	2741	2741
query88	3513	2611	2539	2539
query89	390	357	338	338
query90	1939	176	167	167
query91	169	157	134	134
query92	76	70	71	70
query93	945	930	536	536
query94	646	318	301	301
query95	597	396	317	317
query96	634	501	234	234
query97	2376	2363	2301	2301
query98	207	200	196	196
query99	586	575	518	518
Total cold run time: 247049 ms
Total hot run time: 173685 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 26.92 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 43e1e44a64ab2448408c6da658809b9120ff5ffb, data reload: false

query1	0.05	0.05	0.04
query2	0.10	0.04	0.04
query3	0.26	0.08	0.08
query4	1.61	0.12	0.11
query5	0.27	0.24	0.25
query6	1.14	0.67	0.64
query7	0.03	0.03	0.03
query8	0.05	0.04	0.04
query9	0.55	0.51	0.49
query10	0.55	0.54	0.54
query11	0.14	0.09	0.10
query12	0.14	0.11	0.11
query13	0.60	0.58	0.59
query14	0.95	0.94	0.95
query15	0.79	0.77	0.79
query16	0.40	0.40	0.38
query17	1.04	1.07	1.06
query18	0.23	0.21	0.22
query19	1.97	1.93	1.90
query20	0.02	0.01	0.01
query21	15.43	0.27	0.14
query22	5.29	0.05	0.04
query23	16.04	0.28	0.11
query24	1.72	0.52	0.30
query25	0.08	0.06	0.06
query26	0.14	0.13	0.14
query27	0.08	0.07	0.04
query28	3.79	1.05	0.88
query29	12.56	3.86	3.14
query30	0.27	0.13	0.12
query31	2.82	0.64	0.40
query32	3.24	0.56	0.47
query33	3.02	3.06	3.00
query34	16.30	5.11	4.39
query35	4.48	4.48	5.17
query36	0.71	0.56	0.60
query37	0.11	0.07	0.06
query38	0.07	0.05	0.04
query39	0.05	0.03	0.03
query40	0.17	0.15	0.14
query41	0.09	0.04	0.03
query42	0.04	0.03	0.03
query43	0.04	0.03	0.04
Total cold run time: 97.43 s
Total hot run time: 26.92 s

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 0.00% (0/9) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.39% (19029/36319)
Line Coverage 35.71% (176328/493723)
Region Coverage 32.25% (136520/423344)
Branch Coverage 33.14% (59014/178061)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants