Skip to content

Conversation

@morningman
Copy link
Contributor

@morningman morningman commented Sep 18, 2025

What problem does this PR solve?

Introduced from topn optimization.

When executing query like select count(*) from tbl, it will trigger "count push down optimization".
which means it will send some "dummy" split to BE, each with a part of row count number.
But due to the bug, BE will use the range offset info in these dummy split to do the row group filter logic,
which is incorrect and will result in empty result because all row group will be filtered.

This PR fix it, to not filter the row group if it is a dummy split.

How to reproduce:

  1. find an iceberg table with file size at least 16MB
  2. set file_split_size=4MB
  3. select count(*) from table, it will return empty result

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

@morningman morningman marked this pull request as draft September 18, 2025 06:01
@hello-stephen
Copy link
Contributor

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?

@morningman morningman marked this pull request as ready for review September 18, 2025 18:53
@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17636	37	18	18
q2	2625	27	25	25
q3	10723	15	16	15
q4	11181	17	16	16
q5	8127	19	16	16
q6	234	14	14	14
q7	942	24	21	21
q8	9454	14	12	12
q9	9776	23	12	12
q10	7006	12	12	12
q11	728	22	19	19
q12	341	13	12	12
q13	18635	13	11	11
q14	252	12	11	11
q15	618	12	11	11
q16	1063	996	960	960
q17	565	12	10	10
q18	7872	13	11	11
q19	1407	13	11	11
q20	1985	398	250	250
q21	9109	20	19	19
q22	1140	12	12	12
Total cold run time: 121419 ms
Total hot run time: 1498 ms

----- Round 2, with runtime_filter_mode=off -----
q1	12	10	10	10
q2	19	20	21	20
q3	12	11	11	11
q4	14	11	11	11
q5	12	12	15	12
q6	12	11	10	10
q7	19	19	18	18
q8	11	10	10	10
q9	9	10	10	10
q10	9	10	10	10
q11	19	18	18	18
q12	10	10	10	10
q13	10	10	10	10
q14	17	12	12	12
q15	11	11	10	10
q16	1027	1085	1025	1025
q17	12	11	9	9
q18	9	10	10	10
q19	10	9	10	9
q20	1864	2054	1797	1797
q21	21	20	19	19
q22	10	10	10	10
Total cold run time: 3149 ms
Total hot run time: 3061 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 2763 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 7a8c3319a4e5a37d866baf248b4bb3007242a4b9, data reload: false

query1	1072	19	11	11
query2	7170	19	17	17
query3	7631	12	10	10
query4	26713	12	11	11
query5	4454	11	11	11
query6	376	10	9	9
query7	5442	11	10	10
query8	358	19	21	19
query9	9223	12	11	11
query10	728	11	10	10
query11	16104	11	10	10
query12	174	11	10	10
query13	1727	11	10	10
query14	10857	15	13	13
query15	223	11	9	9
query16	7174	11	10	10
query17	1531	12	10	10
query18	2805	12	10	10
query19	214	10	10	10
query20	132	10	9	9
query21	224	10	9	9
query22	4160	10	9	9
query23	33639	24	14	14
query24	9589	12	13	12
query25	745	10	9	9
query26	1061	10	9	9
query27	3400	11	10	10
query28	6370	11	10	10
query29	1228	10	9	9
query30	642	11	10	10
query31	1737	11	10	10
query32	118	12	10	10
query33	1330	12	10	10
query34	1683	823	525	525
query35	885	11	10	10
query36	1025	10	10	10
query37	127	11	10	10
query38	3568	10	8	8
query39	1527	745	766	745
query40	236	11	10	10
query41	99	12	10	10
query42	158	10	9	9
query43	493	10	9	9
query44	1358	10	9	9
query45	194	12	11	11
query46	909	10	10	10
query47	1829	9	8	8
query48	403	10	10	10
query49	1131	9	9	9
query50	740	10	9	9
query51	3967	9	8	8
query52	115	10	9	9
query53	244	11	9	9
query54	718	10	8	8
query55	87	9	10	9
query56	330	9	8	8
query57	1253	9	9	9
query58	309	10	9	9
query59	2669	9	9	9
query60	368	9	8	8
query61	176	10	9	9
query62	842	9	9	9
query63	262	10	10	10
query64	4700	9	10	9
query65	4063	9	8	8
query66	1678	10	8	8
query67	16633	25	9	9
query68	5328	10	8	8
query69	810	10	9	9
query70	1348	9	8	8
query71	606	364	351	351
query72	7107	8	9	8
query73	1049	10	9	9
query74	9411	11	9	9
query75	4530	9	10	9
query76	3900	10	9	9
query77	1172	11	11	11
query78	9820	11	10	10
query79	1111	10	10	10
query80	695	13	15	13
query81	1027	9	11	9
query82	214	12	9	9
query83	291	10	10	10
query84	1496	9	8	8
query85	1305	9	9	9
query86	670	11	9	9
query87	3986	9	10	9
query88	2837	13	10	10
query89	405	10	12	10
query90	2475	9	8	8
query91	212	9	10	9
query92	80	9	8	8
query93	1311	10	9	9
query94	1994	11	11	11
query95	556	9	9	9
query96	429	7	8	7
query97	3066	9	8	8
query98	240	230	227	227
query99	1509	11	9	9
Total cold run time: 294120 ms
Total hot run time: 2763 ms

@doris-robot
Copy link

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

query1	0.06	0.02	0.01
query2	0.10	0.00	0.01
query3	0.26	0.01	0.01
query4	1.75	0.01	0.00
query5	0.29	0.00	0.01
query6	1.68	0.00	0.00
query7	0.05	0.01	0.00
query8	0.07	0.00	0.01
query9	0.65	0.00	0.01
query10	0.60	0.00	0.00
query11	0.18	0.00	0.00
query12	0.15	0.01	0.01
query13	0.64	0.00	0.00
query14	1.07	0.00	0.00
query15	0.89	0.00	0.00
query16	0.40	0.00	0.00
query17	1.04	0.00	0.00
query18	0.22	0.01	0.00
query19	2.01	0.00	0.00
query20	0.02	0.01	0.00
query21	15.39	0.01	0.00
query22	6.08	0.00	0.00
query23	16.54	0.01	0.00
query24	1.29	0.00	0.00
query25	0.22	0.01	0.00
query26	0.18	0.00	0.00
query27	0.11	0.00	0.00
query28	1.11	0.01	0.00
query29	13.22	0.01	0.00
query30	0.31	0.00	0.00
query31	2.28	0.00	0.00
query32	5.89	0.00	0.00
query33	4.37	0.01	0.00
query34	7.47	0.01	0.00
query35	6.05	0.01	0.00
query36	0.70	0.00	0.00
query37	0.11	0.00	0.00
query38	0.07	0.00	0.00
query39	0.05	0.00	0.00
query40	0.20	0.00	0.00
query41	0.10	0.00	0.00
query42	0.07	0.00	0.00
query43	0.05	0.00	0.01
Total cold run time: 93.99 s
Total hot run time: 0.03 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.34% (17593/33615)
Line Coverage 37.55% (159712/425374)
Region Coverage 32.08% (121621/379073)
Branch Coverage 33.43% (53361/159599)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.08% (23352/32854)
Line Coverage 57.41% (243703/424481)
Region Coverage 52.85% (203072/384249)
Branch Coverage 54.48% (87348/160336)

@morningman
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 100.00% (1/1) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17619	36	19	19
q2	2628	25	24	24
q3	10727	15	15	15
q4	11193	18	15	15
q5	8118	19	14	14
q6	221	13	12	12
q7	964	23	21	21
q8	9454	14	12	12
q9	9317	21	12	12
q10	7030	12	11	11
q11	731	21	19	19
q12	343	14	12	12
q13	18622	12	10	10
q14	248	12	11	11
q15	609	12	10	10
q16	1068	992	957	957
q17	566	12	11	11
q18	7639	13	13	13
q19	1398	13	12	12
q20	1997	373	247	247
q21	9033	20	21	20
q22	1114	12	12	12
Total cold run time: 120639 ms
Total hot run time: 1489 ms

----- Round 2, with runtime_filter_mode=off -----
q1	11	10	11	10
q2	19	20	19	19
q3	11	11	11	11
q4	13	12	11	11
q5	12	12	15	12
q6	10	10	10	10
q7	19	18	18	18
q8	11	11	11	11
q9	10	10	10	10
q10	10	11	11	11
q11	18	21	20	20
q12	15	13	11	11
q13	12	10	10	10
q14	11	10	11	10
q15	10	10	9	9
q16	1047	1073	1025	1025
q17	12	11	11	11
q18	9	10	10	10
q19	10	10	10	10
q20	1825	1956	1837	1837
q21	21	20	18	18
q22	10	11	10	10
Total cold run time: 3126 ms
Total hot run time: 3104 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 2764 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 f7e126fe1c652fd69ad6ff5f316244b178f604cd, data reload: false

query1	1067	17	11	11
query2	7158	17	16	16
query3	7626	13	11	11
query4	26927	12	10	10
query5	4487	13	12	12
query6	372	11	10	10
query7	5443	11	10	10
query8	376	22	19	19
query9	9225	13	12	12
query10	734	12	11	11
query11	15939	11	10	10
query12	176	12	10	10
query13	1731	11	11	11
query14	10773	14	13	13
query15	225	11	10	10
query16	7182	12	10	10
query17	1527	10	11	10
query18	2794	12	9	9
query19	217	10	9	9
query20	148	13	10	10
query21	226	12	11	11
query22	4305	10	9	9
query23	33570	23	13	13
query24	9679	13	13	13
query25	756	11	9	9
query26	1450	11	10	10
query27	3393	11	9	9
query28	6444	12	11	11
query29	1204	11	10	10
query30	616	13	11	11
query31	1735	12	12	12
query32	118	11	11	11
query33	1313	11	9	9
query34	1688	832	531	531
query35	887	11	9	9
query36	988	10	9	9
query37	117	11	9	9
query38	3610	10	9	9
query39	1490	728	759	728
query40	283	11	9	9
query41	87	11	12	11
query42	156	11	10	10
query43	490	10	10	10
query44	1397	11	9	9
query45	197	10	10	10
query46	951	10	10	10
query47	1844	11	10	10
query48	417	10	11	10
query49	1180	11	10	10
query50	812	10	11	10
query51	4135	10	9	9
query52	125	10	10	10
query53	256	11	10	10
query54	723	11	10	10
query55	98	10	10	10
query56	338	12	12	12
query57	1232	10	9	9
query58	316	11	11	11
query59	2572	9	10	9
query60	370	11	9	9
query61	212	9	9	9
query62	827	9	8	8
query63	267	10	10	10
query64	4618	10	11	10
query65	4039	10	8	8
query66	1681	11	10	10
query67	16662	39	11	11
query68	5046	10	9	9
query69	742	10	10	10
query70	1478	9	8	8
query71	576	348	325	325
query72	7377	9	8	8
query73	858	11	10	10
query74	9644	9	9	9
query75	3987	10	10	10
query76	3411	10	9	9
query77	1034	11	9	9
query78	10137	13	10	10
query79	1308	10	10	10
query80	947	10	11	10
query81	986	13	10	10
query82	306	9	8	8
query83	304	12	13	12
query84	326	10	8	8
query85	2165	10	8	8
query86	740	9	9	9
query87	3919	10	9	9
query88	3209	18	13	13
query89	467	11	12	11
query90	2695	9	10	9
query91	187	10	9	9
query92	93	9	10	9
query93	1993	9	9	9
query94	2095	12	12	12
query95	827	10	10	10
query96	453	11	8	8
query97	3097	11	8	8
query98	271	246	226	226
query99	1490	9	8	8
Total cold run time: 296169 ms
Total hot run time: 2764 ms

@doris-robot
Copy link

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

query1	0.07	0.02	0.01
query2	0.10	0.01	0.00
query3	0.27	0.01	0.01
query4	1.77	0.01	0.01
query5	0.30	0.00	0.01
query6	1.66	0.01	0.00
query7	0.05	0.01	0.00
query8	0.07	0.00	0.01
query9	0.60	0.00	0.01
query10	0.58	0.01	0.00
query11	0.16	0.00	0.01
query12	0.16	0.01	0.00
query13	0.63	0.00	0.00
query14	1.05	0.00	0.00
query15	0.87	0.00	0.00
query16	0.40	0.00	0.00
query17	1.04	0.00	0.00
query18	0.22	0.00	0.00
query19	1.94	0.01	0.01
query20	0.02	0.01	0.00
query21	15.37	0.00	0.00
query22	6.79	0.00	0.00
query23	15.75	0.00	0.00
query24	1.32	0.01	0.00
query25	0.23	0.00	0.00
query26	0.18	0.00	0.00
query27	0.10	0.01	0.01
query28	1.15	0.00	0.00
query29	13.30	0.00	0.00
query30	0.31	0.00	0.00
query31	2.26	0.00	0.00
query32	5.93	0.01	0.00
query33	4.32	0.00	0.01
query34	7.40	0.00	0.00
query35	6.03	0.00	0.00
query36	0.70	0.00	0.00
query37	0.12	0.00	0.00
query38	0.07	0.00	0.00
query39	0.05	0.00	0.01
query40	0.20	0.00	0.00
query41	0.11	0.00	0.00
query42	0.07	0.00	0.00
query43	0.05	0.01	0.00
Total cold run time: 93.77 s
Total hot run time: 0.05 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 0.00% (0/2) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.34% (17593/33615)
Line Coverage 37.55% (159714/425374)
Region Coverage 32.09% (121628/379073)
Branch Coverage 33.44% (53363/159599)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.08% (23354/32854)
Line Coverage 57.39% (243592/424481)
Region Coverage 52.83% (203006/384249)
Branch Coverage 54.43% (87278/160336)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 100.00% (2/2) 🎉
Increment coverage report
Complete coverage report

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 84.02% (1541/1834)
Line Coverage 68.02% (27624/40610)
Region Coverage 68.38% (13585/19868)
Branch Coverage 58.68% (7254/12362)

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.35% (17597/33617)
Line Coverage 37.56% (159702/425150)
Region Coverage 32.11% (121648/378865)
Branch Coverage 33.46% (53322/159360)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.10% (23361/32856)
Line Coverage 57.47% (243822/424257)
Region Coverage 52.88% (203073/384039)
Branch Coverage 54.47% (87203/160097)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 100.00% (4/4) 🎉
Increment coverage report
Complete coverage report

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 84.02% (1541/1834)
Line Coverage 68.01% (27617/40610)
Region Coverage 68.38% (13586/19868)
Branch Coverage 58.71% (7258/12362)

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 0.00% (0/4) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.34% (17595/33618)
Line Coverage 37.56% (159690/425190)
Region Coverage 32.11% (121679/378953)
Branch Coverage 33.46% (53325/159393)

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	16431	28	19	19
q2	2643	25	28	25
q3	10280	15	15	15
q4	10721	15	17	15
q5	7857	17	15	15
q6	225	13	13	13
q7	939	22	21	21
q8	9298	14	13	13
q9	12436	13	12	12
q10	6950	13	13	13
q11	647	22	20	20
q12	404	12	11	11
q13	18208	13	12	12
q14	242	12	11	11
q15	615	12	10	10
q16	1052	987	950	950
q17	568	13	11	11
q18	7671	29	12	12
q19	1711	12	11	11
q20	1992	379	243	243
q21	8919	21	20	20
q22	1088	13	11	11
Total cold run time: 120897 ms
Total hot run time: 1483 ms

----- Round 2, with runtime_filter_mode=off -----
q1	12	10	10	10
q2	19	22	21	21
q3	12	11	12	11
q4	12	12	10	10
q5	11	10	15	10
q6	11	11	10	10
q7	19	18	18	18
q8	10	10	10	10
q9	11	10	10	10
q10	10	10	11	10
q11	18	19	19	19
q12	11	10	9	9
q13	9	9	10	9
q14	10	11	12	11
q15	11	11	10	10
q16	1053	1090	1030	1030
q17	12	11	10	10
q18	10	10	10	10
q19	10	11	11	11
q20	1868	1959	1815	1815
q21	21	19	19	19
q22	10	10	10	10
Total cold run time: 3170 ms
Total hot run time: 3083 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 2745 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 2e290c068e5a65e099f6f852a672f491137c68f7, data reload: false

query1	1059	19	11	11
query2	7155	19	16	16
query3	7637	13	12	12
query4	27225	13	12	12
query5	4467	12	11	11
query6	370	11	9	9
query7	5449	13	11	11
query8	363	18	17	17
query9	9223	12	11	11
query10	730	12	10	10
query11	15673	12	12	12
query12	191	11	10	10
query13	1725	11	10	10
query14	11047	14	14	14
query15	399	11	9	9
query16	7203	12	10	10
query17	1531	12	11	11
query18	3067	11	11	11
query19	235	11	10	10
query20	144	11	10	10
query21	223	10	9	9
query22	4086	11	10	10
query23	33750	36	14	14
query24	9432	12	13	12
query25	724	10	9	9
query26	1179	10	9	9
query27	3453	10	10	10
query28	6127	11	11	11
query29	1222	10	8	8
query30	699	11	10	10
query31	1749	11	12	11
query32	117	10	9	9
query33	1290	10	8	8
query34	1715	830	522	522
query35	1026	11	10	10
query36	999	10	9	9
query37	114	11	10	10
query38	3587	9	8	8
query39	1466	731	768	731
query40	234	11	10	10
query41	80	11	9	9
query42	148	10	9	9
query43	510	11	10	10
query44	1358	9	9	9
query45	372	10	9	9
query46	1181	10	8	8
query47	1809	11	8	8
query48	398	9	10	9
query49	1146	10	9	9
query50	757	10	9	9
query51	3902	9	9	9
query52	122	9	9	9
query53	247	10	11	10
query54	731	10	10	10
query55	98	11	10	10
query56	348	10	8	8
query57	1223	9	9	9
query58	362	10	9	9
query59	2648	9	8	8
query60	383	11	9	9
query61	180	10	8	8
query62	819	9	9	9
query63	273	12	11	11
query64	4337	11	10	10
query65	4174	11	14	11
query66	1141	11	12	11
query67	16797	17	11	11
query68	3676	10	10	10
query69	494	10	10	10
query70	1409	9	9	9
query71	429	340	335	335
query72	7196	9	9	9
query73	574	10	10	10
query74	9144	10	9	9
query75	3414	9	11	9
query76	2378	10	9	9
query77	1102	12	10	10
query78	9895	25	9	9
query79	1101	10	10	10
query80	701	11	9	9
query81	665	10	12	10
query82	214	11	9	9
query83	350	10	10	10
query84	326	11	11	11
query85	1388	11	11	11
query86	580	9	9	9
query87	4009	9	10	9
query88	2802	12	11	11
query89	399	10	9	9
query90	2400	10	9	9
query91	180	10	8	8
query92	82	10	9	9
query93	1079	9	10	9
query94	1436	10	9	9
query95	572	8	8	8
query96	428	12	9	9
query97	3053	10	8	8
query98	240	234	223	223
query99	1412	10	8	8
Total cold run time: 286757 ms
Total hot run time: 2745 ms

@doris-robot
Copy link

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

query1	0.06	0.02	0.00
query2	0.12	0.01	0.01
query3	0.31	0.01	0.01
query4	1.71	0.00	0.00
query5	0.27	0.01	0.00
query6	1.67	0.00	0.01
query7	0.05	0.00	0.00
query8	0.08	0.00	0.00
query9	0.67	0.00	0.00
query10	0.59	0.01	0.01
query11	0.26	0.01	0.01
query12	0.26	0.00	0.00
query13	0.67	0.01	0.00
query14	1.07	0.00	0.00
query15	0.98	0.01	0.00
query16	0.40	0.00	0.01
query17	1.08	0.00	0.01
query18	0.25	0.00	0.00
query19	1.98	0.00	0.00
query20	0.02	0.00	0.00
query21	15.36	0.00	0.00
query22	5.67	0.00	0.01
query23	15.59	0.00	0.00
query24	1.79	0.00	0.00
query25	0.17	0.01	0.00
query26	0.20	0.00	0.00
query27	0.10	0.01	0.00
query28	1.78	0.00	0.01
query29	12.68	0.01	0.00
query30	0.36	0.00	0.00
query31	2.60	0.01	0.00
query32	6.26	0.00	0.00
query33	4.30	0.01	0.00
query34	8.55	0.01	0.00
query35	7.47	0.00	0.00
query36	0.66	0.00	0.00
query37	0.24	0.00	0.00
query38	0.21	0.00	0.00
query39	0.07	0.00	0.00
query40	0.23	0.00	0.01
query41	0.12	0.01	0.00
query42	0.09	0.01	0.00
query43	0.08	0.01	0.00
Total cold run time: 97.08 s
Total hot run time: 0.04 s

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (6/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.16% (23381/32857)
Line Coverage 57.52% (244068/424297)
Region Coverage 52.91% (203235/384127)
Branch Coverage 54.54% (87341/160130)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 100.00% (4/4) 🎉
Increment coverage report
Complete coverage report

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Sep 20, 2025
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@morningman morningman merged commit 643caa7 into apache:master Sep 21, 2025
26 of 29 checks passed
dwdwqfwe pushed a commit to dwdwqfwe/doris that referenced this pull request Sep 22, 2025
### What problem does this PR solve?

Introduced from topn optimization.

When executing query like `select count(*) from tbl`, it will trigger
"count push down optimization".
which means it will send some "dummy" split to BE, each with a part of
row count number.
But due to the bug, BE will use the range offset info in these dummy
split to do the row group filter logic,
which is incorrect and will result in empty result because all row group
will be filtered.

This PR fix it, to not filter the row group if it is a dummy split.

How to reproduce:

1. find an iceberg table with file size at least 16MB
2. set file_split_size=4MB
3. select count(*) from table, it will return empty result
morningman added a commit to morningman/doris that referenced this pull request Sep 25, 2025
Introduced from topn optimization.

When executing query like `select count(*) from tbl`, it will trigger
"count push down optimization".
which means it will send some "dummy" split to BE, each with a part of
row count number.
But due to the bug, BE will use the range offset info in these dummy
split to do the row group filter logic,
which is incorrect and will result in empty result because all row group
will be filtered.

This PR fix it, to not filter the row group if it is a dummy split.

How to reproduce:

1. find an iceberg table with file size at least 16MB
2. set file_split_size=4MB
3. select count(*) from table, it will return empty result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/3.1.2-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants