Skip to content

[fix](test) Align two UT assertions with current master behavior - #67404

Open
bosswnx wants to merge 1 commit into
apache:masterfrom
bosswnx:fix/ut-align-assertions-67403
Open

[fix](test) Align two UT assertions with current master behavior#67404
bosswnx wants to merge 1 commit into
apache:masterfrom
bosswnx:fix/ut-align-assertions-67403

Conversation

@bosswnx

@bosswnx bosswnx commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #67403

Related PR: #66345 #66348 #64522 #66475

Problem Summary:

Two FE unit tests fail on current master because their assertions contradict behavior that later PRs deliberately introduced:

What changed?

Test-only changes, no production code:

  1. Update the Iceberg assertion to assertEquals(Long.valueOf(-1L), ...) matching the intent documented in [fix](iceberg) Harden external-write lifecycle, OCC, memory, and file ownership #66348, with a comment explaining the semantics.
  2. Accept either V1-rejection message in the PropertyAnalyzer assertion, so the test stays valid regardless of which layer is chosen to reject V1; failure output includes the actual message.

Both tests pass locally after the change: IcebergWritePlanProviderTest 79/79, PropertyAnalyzerTest 20/20.

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.

@hello-stephen

Copy link
Copy Markdown
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?

IcebergWritePlanProviderTest asserts baseSnapshotId == null for an
explicitly pinned empty read, but apache#66348 intentionally changed this to
keep the pinned -1 as an OCC fence; the test from apache#66345 was not
updated. PropertyAnalyzerTest expects the partition-level "only
supports V2, V3 and SNII" message for V1, but apache#64522 already throws
the "deprecated" message inside analyzeInvertedIndexFileStorageFormat
before the partition-level check can run, making the expected branch
unreachable.

Update the Iceberg assertion to expect -1 (matching the intent
documented in apache#66348), and accept either V1-rejection message in the
PropertyAnalyzer assertion. Test-only, no production code changed.
@bosswnx
bosswnx force-pushed the fix/ut-align-assertions-67403 branch from ab02e29 to f4a5e3f Compare September 1, 2026 16:48
@bosswnx

bosswnx commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@bosswnx

bosswnx commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

/review

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17597	3089	3065	3065
q2	2141	287	233	233
q3	10167	891	513	513
q4	4678	248	207	207
q5	7669	552	394	394
q6	140	112	97	97
q7	510	498	397	397
q8	9249	930	915	915
q9	3451	2396	2406	2396
q10	6516	832	719	719
q11	395	199	182	182
q12	617	260	199	199
q13	18127	1538	1156	1156
q14	162	152	148	148
q15	q16	425	394	363	363
q17	1335	872	841	841
q18	3076	2250	2296	2250
q19	1169	907	745	745
q20	377	283	210	210
q21	5393	1663	1862	1663
q22	331	263	234	234
Total cold run time: 93525 ms
Total hot run time: 16927 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3417	3393	3355	3355
q2	508	402	390	390
q3	2248	2310	2163	2163
q4	1198	1157	909	909
q5	2179	2128	2135	2128
q6	169	117	89	89
q7	1049	933	871	871
q8	1616	1436	1430	1430
q9	3157	3101	3104	3101
q10	1850	1814	1615	1615
q11	364	272	255	255
q12	460	435	351	351
q13	1483	1538	1179	1179
q14	178	184	155	155
q15	q16	398	396	359	359
q17	3647	3316	3287	3287
q18	4904	4435	4755	4435
q19	887	937	885	885
q20	1000	948	864	864
q21	3885	3279	3229	3229
q22	398	345	319	319
Total cold run time: 34995 ms
Total hot run time: 31369 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 82557 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 f4a5e3f3dd00692203ef38f4592fa0c769af0ad9, data reload: false

query5	4261	410	334	334
query6	398	146	129	129
query7	4930	417	222	222
query8	298	126	115	115
query9	8689	2973	2961	2961
query10	394	223	192	192
query11	5390	1042	905	905
query12	118	76	79	76
query13	1218	432	334	334
query14	6052	2268	2105	2105
query14_1	2007	2007	2015	2007
query15	181	127	119	119
query16	929	406	377	377
query17	809	473	381	381
query18	2331	321	234	234
query19	180	154	113	113
query20	88	70	69	69
query21	202	102	90	90
query22	5389	5423	5349	5349
query23	6846	6254	6204	6204
query23_1	6291	6046	6148	6046
query24	7287	1119	768	768
query24_1	771	799	791	791
query25	441	302	268	268
query26	1240	235	135	135
query27	2768	413	265	265
query28	4719	1506	1521	1506
query29	934	454	366	366
query30	255	154	134	134
query31	847	408	337	337
query32	124	81	79	79
query33	463	218	185	185
query34	997	847	496	496
query35	413	407	350	350
query36	595	576	545	545
query37	122	85	75	75
query38	1010	840	818	818
query39	507	513	489	489
query39_1	476	479	477	477
query40	208	95	85	85
query41	60	59	57	57
query42	86	73	75	73
query43	276	244	216	216
query44	1013	547	550	547
query45	107	103	102	102
query46	757	788	550	550
query47	772	760	711	711
query48	311	288	223	223
query49	536	229	193	193
query50	726	255	182	182
query51	8132	8432	7860	7860
query52	69	69	59	59
query53	191	206	146	146
query54	249	222	172	172
query55	73	63	55	55
query56	212	171	158	158
query57	707	654	663	654
query58	219	170	165	165
query59	1224	1272	1117	1117
query60	235	193	188	188
query61	132	132	121	121
query62	359	202	171	171
query63	168	141	146	141
query64	2697	681	621	621
query65	1588	1609	1584	1584
query66	1777	253	200	200
query67	10003	9617	9671	9617
query68	3006	1129	764	764
query69	356	217	198	198
query70	688	652	591	591
query71	261	178	180	178
query72	2408	1749	1569	1569
query73	630	606	372	372
query74	2009	1235	1154	1154
query75	1220	1089	972	972
query76	2383	743	551	551
query77	274	257	223	223
query78	3886	3614	3160	3160
query79	2800	843	562	562
query80	1611	334	272	272
query81	513	153	159	153
query82	636	134	96	96
query83	290	208	189	189
query84	300	112	98	98
query85	818	350	305	305
query86	480	184	168	168
query87	1030	1021	886	886
query88	3019	2115	2116	2115
query89	284	192	178	178
query90	2108	126	129	126
query91	131	121	101	101
query92	102	73	67	67
query93	2223	1083	659	659
query94	666	269	224	224
query95	520	322	232	232
query96	802	642	277	277
query97	1034	1012	1025	1012
query98	181	140	136	136
query99	427	351	306	306
Total cold run time: 180378 ms
Total hot run time: 82557 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.08	0.04	0.03
query3	0.25	0.11	0.11
query4	1.61	0.09	0.10
query5	0.17	0.16	0.16
query6	1.25	0.71	0.69
query7	0.04	0.01	0.01
query8	0.04	0.03	0.03
query9	0.28	0.21	0.21
query10	0.36	0.36	0.36
query11	0.16	0.12	0.12
query12	0.15	0.13	0.11
query13	0.30	0.31	0.32
query14	0.45	0.45	0.45
query15	0.37	0.36	0.36
query16	0.25	0.23	0.23
query17	0.70	0.69	0.69
query18	0.19	0.17	0.16
query19	1.21	1.20	1.13
query20	0.01	0.02	0.02
query21	15.46	0.16	0.12
query22	5.09	0.04	0.04
query23	16.16	0.26	0.10
query24	3.11	0.35	0.25
query25	0.13	0.04	0.03
query26	0.71	0.16	0.13
query27	0.04	0.03	0.02
query28	3.68	0.62	0.27
query29	12.41	3.20	2.57
query30	0.26	0.10	0.12
query31	2.76	0.36	0.18
query32	3.51	0.32	0.24
query33	1.33	1.51	1.41
query34	15.40	2.21	1.79
query35	1.76	1.77	1.72
query36	0.46	0.29	0.29
query37	0.06	0.04	0.04
query38	0.04	0.03	0.03
query39	0.03	0.03	0.02
query40	0.11	0.08	0.08
query41	0.08	0.03	0.02
query42	0.04	0.03	0.02
query43	0.03	0.02	0.02
Total cold run time: 90.54 s
Total hot run time: 14.76 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 100% (0/0) 🎉
Increment coverage report
Complete coverage report

@bosswnx

bosswnx commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

The NonConcurrent Regression failure on this PR is not caused by this change — it is a pre-existing BE crash on master, now tracked in #67428.

Evidence:

  1. This PR is test-only (2 FE assertion updates, zero BE changes), yet the regression died with a BE ASAN heap-use-after-free in SharedMemtable::~SharedMemtableRowsetWriterContext::remove_segment_allocated_lsns (group-commit memtable flush path, code introduced by [feature](binlog) Add per-row LSN column for detail (DUP) tables to support IVM #66889).
  2. PR [fix](test) run search score TopN case in nonConcurrent group #67402 — an unrelated test-only PR from another author, based on the same master window — hit the byte-for-byte identical crash (TeamCity build 1036154 vs. ours 1035988, same stack, same lines).
  3. Timeline: all nonConcurrent runs before Sep 1 16:25 (UTC+8) passed; the two runs after [feature](binlog) Keep row binlog tablets colocated with base tablets #66191/[Enhancement](row binlog) Support flexible partial updates #66899 merged on master both crashed. The UAF was introduced Aug 27 ([feature](binlog) Add per-row LSN column for detail (DUP) tables to support IVM #66889) and became reproducible on the new base.

The cascade of ~49 suite failures is downstream of the BE exit ("available backend num is 0"), not separate issues.

Given the above, the NonConcurrent pipeline should fail for any PR based on current master. A re-run will hit the same crash until the upstream fix in #67428 lands — happy to help there. Everything else on this PR is green: FE UT pass, CheckStyle pass, P0 Regression pass, External Regression pass.

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.

[Bug] Two FE UT failures on current master

2 participants