Skip to content

Conversation

@HappenLee
Copy link
Contributor

@HappenLee HappenLee commented Nov 18, 2025

What problem does this PR solve?

Problem Summary:
Condition cache malfunctions occurred due to flawed cache digest calculation in two core components, leading to inconsistent hash values, incorrect cache hits/misses, or query execution errors:
In VBloomPredicate::get_digest() (file: be/src/vec/exprs/vbloom_predicate.cpp), the digest was computed directly using bloom filter data without incorporating the child expression’s digest, omitting critical context for hash consistency.
In VRuntimeFilterWrapper::get_digest() (file: be/src/vec/exprs/vruntimefilter_wrapper.h), the _null_aware flag (a key attribute controlling filter behavior) was excluded from digest calculation, resulting in invalid cache key generation.

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

@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?

@HappenLee HappenLee changed the title 15841 [Fix](exec) some error in condition cache because cache digest error Nov 19, 2025
@HappenLee HappenLee marked this pull request as ready for review November 19, 2025 12:18
@HappenLee
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17591	4998	4886	4886
q2	2010	316	202	202
q3	10289	1276	724	724
q4	10235	890	372	372
q5	7492	2379	2325	2325
q6	188	171	136	136
q7	905	772	622	622
q8	9378	1389	1113	1113
q9	7137	5349	5346	5346
q10	6891	2252	1763	1763
q11	498	293	295	293
q12	382	370	223	223
q13	17792	3687	3029	3029
q14	226	233	216	216
q15	578	500	510	500
q16	1030	991	943	943
q17	592	882	363	363
q18	7496	7434	7805	7434
q19	1196	1037	580	580
q20	401	354	229	229
q21	4291	3706	2473	2473
q22	1149	1134	1069	1069
Total cold run time: 107747 ms
Total hot run time: 34841 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5168	5131	5130	5130
q2	332	387	331	331
q3	2424	2996	2482	2482
q4	1483	2077	1401	1401
q5	4471	4394	4390	4390
q6	203	168	124	124
q7	1963	1897	1800	1800
q8	2571	2490	2568	2490
q9	7669	7635	7335	7335
q10	2939	3066	2653	2653
q11	564	507	489	489
q12	612	764	560	560
q13	3312	3690	3003	3003
q14	262	289	276	276
q15	540	490	481	481
q16	1036	1038	994	994
q17	1120	1483	1300	1300
q18	7299	7055	6964	6964
q19	774	738	766	738
q20	1958	1998	1820	1820
q21	4733	4364	4310	4310
q22	1097	1069	951	951
Total cold run time: 52530 ms
Total hot run time: 50022 ms

@doris-robot
Copy link

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

query1	1022	417	400	400
query2	6543	1741	1670	1670
query3	6757	230	230	230
query4	25821	22957	23200	22957
query5	4439	662	523	523
query6	361	253	233	233
query7	4654	501	317	317
query8	339	271	264	264
query9	8683	2954	2894	2894
query10	508	334	297	297
query11	15985	15165	14779	14779
query12	191	124	117	117
query13	1677	573	446	446
query14	11256	9369	9210	9210
query15	195	181	166	166
query16	7641	666	497	497
query17	1232	780	625	625
query18	2025	422	334	334
query19	203	198	183	183
query20	136	126	122	122
query21	221	137	116	116
query22	3976	4129	4095	4095
query23	34017	32881	33292	32881
query24	8298	2486	2440	2440
query25	623	565	498	498
query26	1239	275	175	175
query27	2746	505	366	366
query28	4401	2257	2231	2231
query29	810	659	514	514
query30	296	232	202	202
query31	930	813	733	733
query32	96	84	81	81
query33	602	411	415	411
query34	786	846	528	528
query35	802	843	730	730
query36	952	996	897	897
query37	127	113	96	96
query38	3538	3592	3494	3494
query39	1482	1413	1419	1413
query40	235	137	127	127
query41	66	59	59	59
query42	128	114	118	114
query43	491	496	474	474
query44	1247	812	814	812
query45	196	184	172	172
query46	881	967	645	645
query47	1757	1791	1694	1694
query48	416	430	333	333
query49	759	519	418	418
query50	657	679	410	410
query51	3873	3905	3926	3905
query52	120	120	115	115
query53	248	271	208	208
query54	359	315	299	299
query55	98	91	91	91
query56	354	343	334	334
query57	1175	1187	1087	1087
query58	304	284	285	284
query59	2482	2578	2472	2472
query60	368	375	350	350
query61	203	153	161	153
query62	774	724	654	654
query63	233	203	203	203
query64	4452	1177	891	891
query65	4020	4021	4002	4002
query66	1102	444	351	351
query67	15275	15254	14861	14861
query68	8245	951	633	633
query69	497	337	309	309
query70	1367	1270	1284	1270
query71	453	356	335	335
query72	5825	4989	5121	4989
query73	666	617	369	369
query74	8925	8875	8782	8782
query75	3409	3267	2777	2777
query76	3257	1166	755	755
query77	560	430	358	358
query78	9422	9691	8824	8824
query79	2031	813	613	613
query80	703	638	601	601
query81	517	275	232	232
query82	217	160	138	138
query83	256	270	249	249
query84	251	109	97	97
query85	886	502	442	442
query86	388	330	325	325
query87	3651	3682	3590	3590
query88	3215	2250	2224	2224
query89	389	325	294	294
query90	1975	238	231	231
query91	162	168	132	132
query92	93	79	75	75
query93	1932	1008	685	685
query94	725	402	327	327
query95	424	353	326	326
query96	490	576	279	279
query97	2863	2961	2906	2906
query98	253	224	217	217
query99	1318	1401	1272	1272
Total cold run time: 273248 ms
Total hot run time: 188339 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.04
query2	0.09	0.04	0.04
query3	0.26	0.08	0.08
query4	1.60	0.12	0.11
query5	0.26	0.25	0.25
query6	1.17	0.64	0.64
query7	0.03	0.03	0.03
query8	0.05	0.04	0.04
query9	0.58	0.53	0.51
query10	0.57	0.58	0.57
query11	0.16	0.12	0.12
query12	0.16	0.11	0.12
query13	0.62	0.59	0.62
query14	0.99	1.01	0.99
query15	0.84	0.83	0.84
query16	0.41	0.40	0.39
query17	1.05	1.02	1.00
query18	0.22	0.20	0.20
query19	1.90	1.80	1.76
query20	0.02	0.02	0.01
query21	15.45	0.19	0.13
query22	4.98	0.06	0.04
query23	15.68	0.26	0.10
query24	3.29	0.65	0.85
query25	0.09	0.05	0.05
query26	0.14	0.14	0.12
query27	0.06	0.05	0.05
query28	4.75	1.18	0.95
query29	12.55	3.87	3.20
query30	0.27	0.13	0.12
query31	2.82	0.58	0.38
query32	3.23	0.54	0.47
query33	3.04	3.15	3.09
query34	15.86	5.24	4.53
query35	4.55	4.54	4.64
query36	0.68	0.50	0.50
query37	0.10	0.07	0.06
query38	0.06	0.03	0.03
query39	0.03	0.03	0.03
query40	0.17	0.13	0.14
query41	0.09	0.03	0.04
query42	0.04	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 99.01 s
Total hot run time: 27.57 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 0.00% (0/15) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.74% (18277/34657)
Line Coverage 38.10% (166062/435838)
Region Coverage 33.03% (129081/390851)
Branch Coverage 33.81% (55398/163857)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (15/15) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.41% (24320/34057)
Line Coverage 57.89% (252680/436507)
Region Coverage 53.25% (211092/396427)
Branch Coverage 54.56% (89985/164936)

Copy link
Contributor

@BiteTheDDDDt BiteTheDDDDt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Nov 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.

@Gabriel39 Gabriel39 merged commit 30f4100 into apache:master Nov 20, 2025
30 of 32 checks passed
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. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants