Skip to content

[ut](filecache) fix bvar::Window metrics use-after free#59958

Merged
hello-stephen merged 1 commit intoapache:masterfrom
freemandealer:fix-ut-pipeline
Jan 19, 2026
Merged

[ut](filecache) fix bvar::Window metrics use-after free#59958
hello-stephen merged 1 commit intoapache:masterfrom
freemandealer:fix-ut-pipeline

Conversation

@freemandealer
Copy link
Contributor

Disable creation of these Window metrics for UT (keep only Adder/Status) to prevent sampling threads from being involved. Otherwise, BlockFileCache class can be destroyed before sampling threads join make it Use-After-Free.

What problem does this PR solve?

Issue Number: close #xxx

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

Disable creation of these Window metrics for UT (keep only Adder/Status)
to prevent sampling threads from being involved. Otherwise, BlockFileCache
class can be destroyed before sampling threads join make it Use-After-Free.

Signed-off-by: zhengyu <zhangzhengyu@selectdb.com>
@freemandealer
Copy link
Contributor Author

run buildall

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

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17603	4169	4068	4068
q2	2107	362	244	244
q3	10101	1273	724	724
q4	10226	893	313	313
q5	7533	2056	1868	1868
q6	210	169	135	135
q7	952	778	660	660
q8	9272	1355	1133	1133
q9	4856	4582	4504	4504
q10	6730	1791	1399	1399
q11	525	304	299	299
q12	688	723	596	596
q13	17781	3816	3121	3121
q14	290	314	284	284
q15	575	521	507	507
q16	695	690	636	636
q17	659	781	523	523
q18	6786	6386	6617	6386
q19	1294	1043	684	684
q20	405	414	264	264
q21	3237	2637	2472	2472
q22	1128	1129	1025	1025
Total cold run time: 103653 ms
Total hot run time: 31845 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4313	4409	4352	4352
q2	345	410	332	332
q3	2250	2794	2381	2381
q4	1419	1950	1487	1487
q5	4435	4340	4329	4329
q6	219	163	124	124
q7	1953	1989	1783	1783
q8	2539	2569	2434	2434
q9	7235	7179	7324	7179
q10	2472	2742	2302	2302
q11	551	473	461	461
q12	685	752	607	607
q13	3673	4033	3115	3115
q14	271	275	246	246
q15	529	477	493	477
q16	617	630	598	598
q17	1089	1231	1305	1231
q18	7400	7440	7087	7087
q19	828	769	789	769
q20	1898	1954	1822	1822
q21	4498	4240	4128	4128
q22	1052	1013	978	978
Total cold run time: 50271 ms
Total hot run time: 48222 ms

@doris-robot
Copy link

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

query5	4566	649	502	502
query6	331	232	216	216
query7	4236	461	262	262
query8	351	260	260	260
query9	8741	2928	2938	2928
query10	513	376	344	344
query11	15278	15314	14983	14983
query12	190	119	119	119
query13	1262	472	380	380
query14	6532	3109	2838	2838
query14_1	2731	2694	2699	2694
query15	203	196	177	177
query16	1014	487	478	478
query17	1086	636	545	545
query18	2630	421	324	324
query19	210	211	190	190
query20	119	123	110	110
query21	213	133	115	115
query22	4133	4179	3964	3964
query23	16121	15580	15386	15386
query23_1	15346	15508	15399	15399
query24	7160	1557	1187	1187
query24_1	1183	1155	1182	1155
query25	511	427	384	384
query26	1243	267	152	152
query27	2763	441	274	274
query28	4532	2127	2119	2119
query29	743	508	453	453
query30	306	241	204	204
query31	785	619	574	574
query32	88	77	74	74
query33	518	337	335	335
query34	915	873	519	519
query35	729	786	683	683
query36	892	930	843	843
query37	137	98	85	85
query38	2738	2679	2676	2676
query39	766	768	728	728
query39_1	732	742	721	721
query40	226	143	122	122
query41	67	65	60	60
query42	106	101	106	101
query43	484	478	452	452
query44	1313	733	732	732
query45	185	185	180	180
query46	834	958	578	578
query47	1455	1485	1339	1339
query48	312	338	235	235
query49	605	416	349	349
query50	633	268	194	194
query51	3772	3796	3774	3774
query52	104	109	97	97
query53	295	319	273	273
query54	296	266	258	258
query55	84	79	75	75
query56	316	311	314	311
query57	1034	1015	948	948
query58	276	266	266	266
query59	2158	2146	2047	2047
query60	334	330	327	327
query61	150	151	148	148
query62	396	359	313	313
query63	296	262	267	262
query64	4888	1260	942	942
query65	3810	3756	3777	3756
query66	1387	411	317	317
query67	15604	15586	15533	15533
query68	2423	1072	746	746
query69	449	359	319	319
query70	1016	912	930	912
query71	329	335	302	302
query72	5270	2499	3512	2499
query73	618	720	322	322
query74	8841	8744	8595	8595
query75	2747	2809	2473	2473
query76	2296	1063	651	651
query77	368	385	315	315
query78	9891	9999	9197	9197
query79	1063	925	579	579
query80	697	587	527	527
query81	513	263	237	237
query82	1328	150	117	117
query83	387	263	254	254
query84	258	129	100	100
query85	965	571	531	531
query86	377	305	292	292
query87	2856	3016	2695	2695
query88	3516	2615	2601	2601
query89	385	345	319	319
query90	1884	177	169	169
query91	178	168	135	135
query92	74	77	68	68
query93	921	883	530	530
query94	476	278	299	278
query95	573	330	369	330
query96	640	503	229	229
query97	2307	2389	2381	2381
query98	219	209	204	204
query99	589	566	506	506
Total cold run time: 247764 ms
Total hot run time: 173782 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.05
query2	0.10	0.05	0.04
query3	0.27	0.09	0.08
query4	1.60	0.12	0.11
query5	0.28	0.25	0.26
query6	1.15	0.67	0.65
query7	0.03	0.03	0.02
query8	0.05	0.04	0.04
query9	0.57	0.51	0.49
query10	0.55	0.53	0.55
query11	0.14	0.09	0.10
query12	0.15	0.11	0.11
query13	0.59	0.57	0.59
query14	0.93	0.96	0.96
query15	0.79	0.77	0.78
query16	0.40	0.40	0.40
query17	1.00	1.07	1.06
query18	0.23	0.21	0.21
query19	1.96	1.84	1.89
query20	0.02	0.01	0.01
query21	15.50	0.26	0.13
query22	5.23	0.05	0.04
query23	16.08	0.28	0.11
query24	1.96	0.43	0.24
query25	0.11	0.06	0.05
query26	0.14	0.12	0.12
query27	0.06	0.10	0.05
query28	4.49	1.07	0.89
query29	12.52	3.92	3.13
query30	0.27	0.13	0.11
query31	2.82	0.64	0.39
query32	3.24	0.57	0.45
query33	2.99	2.97	3.06
query34	15.76	5.16	4.44
query35	4.44	4.45	4.48
query36	0.66	0.50	0.50
query37	0.11	0.07	0.07
query38	0.07	0.04	0.04
query39	0.05	0.03	0.03
query40	0.17	0.14	0.13
query41	0.09	0.03	0.03
query42	0.05	0.03	0.03
query43	0.04	0.04	0.04
Total cold run time: 97.72 s
Total hot run time: 26.72 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 100.00% (8/8) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.45% (19022/36269)
Line Coverage 35.72% (176313/493666)
Region Coverage 32.26% (136490/423143)
Branch Coverage 33.15% (59017/178054)

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

@hello-stephen
Copy link
Contributor

skip check_coverage

@hello-stephen hello-stephen merged commit 9dff1c7 into apache:master Jan 19, 2026
30 of 31 checks passed
github-actions bot pushed a commit that referenced this pull request Jan 19, 2026
Disable creation of these Window metrics for UT (keep only Adder/Status)
to prevent sampling threads from being involved. Otherwise,
BlockFileCache class can be destroyed before sampling threads join make
it Use-After-Free.
yiguolei pushed a commit that referenced this pull request Jan 19, 2026
…59958 (#60017)

Cherry-picked from #59958

Co-authored-by: zhengyu <zhangzhengyu@selectdb.com>
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.x dev/4.0.3-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants