Skip to content

[test](fe) Cover format=avro table functions failing during analysis - #69849

Merged
morningman merged 2 commits into
apache:masterfrom
morningman:b2m-t03a-avro-tvf-rejected
Oct 31, 2026
Merged

morningman merged 2 commits into
apache:masterfrom
morningman:b2m-t03a-avro-tvf-rejected

Conversation

@morningman

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: None

Related PR: #69601, #64699

Problem Summary:

In short. #69601 made FE reject format=avro while it parses file format properties. This PR adds end-to-end coverage for that: a regression suite that runs s3() and hdfs() with format=avro and checks that they fail during analysis, and a unit test for the two table-function constructors. Test only, no code change.

Background. Master no longer reads standalone Avro files: #61141 removed the BE reader, #65733 the scanner module, and #69601 made FileFormatProperties.createFileFormatProperties throw Avro file reads are no longer supported. Before #69601, FE accepted the format and the query failed later in BE with Not supported file format in fetch table schema: 12. branch-4.2 still reads Avro through the JNI scanner (#64699 fixed a crash in it), so users who upgrade from 4.x with Avro table functions or loads get this error.

What was missing. #69601's unit test calls createFileFormatProperties directly. Nothing checks that a table function reaches that check before it validates storage properties or lists files. If a constructor validated the location first, format=avro against an unreachable location would report a storage error instead, and no test would notice.

What this PR adds.

  • external_table_p0/tvf/test_tvf_avro_format_rejected: s3() and hdfs() with format set to avro and to AVRO, against a made-up bucket, made-up credentials and an HDFS address nothing listens on. Each call must fail with Avro file reads are no longer supported.
  • UnsupportedExternalReadsTest#testAvroTableFunctionsAreRejectedBeforeStorageAccess: constructs S3TableValuedFunction and HdfsTableValuedFunction with format=avro / AVRO and checks the same message.

Results. On master 2a4191c1dc9 with this change, all four statements of the suite fail during analysis with Can not build s3(): Avro file reads are no longer supported / Can not build hdfs(): ..., and the unit test passes. Before #69601 the same s3() call would have gone on to validate and list the made-up location, so the suite pins the order as well as the message.

Release note

None

Check List (For Author)

  • Test
    • Regression test
      • run-regression-test.sh --run -d external_table_p0/tvf -s test_tvf_avro_format_rejected: passes on a local cluster whose FE is built from this branch.
    • Unit Test
      • run-fe-ut.sh --run org.apache.doris.datasource.UnsupportedExternalReadsTest: 3 of 3 pass; fe-core checkstyle passes.
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
  • 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

### What problem does this PR solve?

Issue Number: None

Related PR: apache#69601, apache#64699

Problem Summary: apache#69601 removed standalone Avro file reads and made FE reject
format=avro while it parses file format properties, with the message "Avro
file reads are no longer supported". Its unit test calls
FileFormatProperties.createFileFormatProperties directly; nothing checks that a
table function reaches that check before it validates storage properties or
lists files, so reordering a constructor would turn the rejection back into a
storage or BE error. Before apache#69601 such a query failed in BE with "Not
supported file format in fetch table schema: 12" (branch-4.2 still reads Avro
through the JNI scanner that apache#64699 fixed).

This adds a regression suite that runs s3() and hdfs() with format=avro and
AVRO against made-up locations and expects the analysis-time message, and a
unit test that constructs S3TableValuedFunction and HdfsTableValuedFunction
with that format.

### Release note

None

### Check List (For Author)

- Test: Regression test (test_tvf_avro_format_rejected) and Unit Test
  (UnsupportedExternalReadsTest)
- Behavior changed: No
- Does this need documentation: No

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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?

@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@morningman

Copy link
Copy Markdown
Contributor Author

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed all changes in both test files at 96491d6. No actionable findings or existing blocking comments were identified.

  • Goal and proof: the new constructor test and four SQL negative cases cover S3/HDFS Avro rejection before storage validation or file listing. The factory, constructor order and SQL error propagation agree with the asserted message.
  • Scope: focused test additions and necessary imports; no production code changes.
  • Concurrency and locks: local fixture maps, synchronous regression actions, and no shared-state changes or new locking.
  • Lifecycle and initialization: these inputs reject before storage adapters or handles are acquired; no resource property triggers the earlier Env lookup, and rejection precedes unit-test shortcuts.
  • Configuration: no settings added or changed.
  • Compatibility: no runtime symbols, storage formats or upgrade behavior changed.
  • Thrift/protobuf: no definitions changed; field-ID checks are inapplicable.
  • Parallel paths: both targeted TVFs are covered. Regression exercises both avro and AVRO for each; existing factory tests also cover case-insensitive rejection.
  • Conditional checks: the only added loop deterministically enumerates the two format values.
  • Coverage: JUnit 5 assertions check the correct unchecked AnalysisException. The regression suite follows discovery/group conventions and requires an actual exception containing the specific Avro diagnostic, so success and unrelated storage errors fail.
  • Test results: no snapshots were added or modified. Exception-only cases need neither row ordering nor .out files, and they create no tables.
  • Observability: the existing explicit diagnostic and assertion failures suffice for this test-only change.
  • Transactions and persistence: no changes to journal/replay, failover, visibility or delete-bitmap behavior.
  • Writes and atomicity: no data mutations or transaction operations introduced.
  • FE/BE propagation: no variables added; the intended rejection occurs during FE analysis before schema RPC or BE execution.
  • Performance and memory: tiny bounded test allocations and four early-failing statements; no production overhead introduced.
  • Other issues: rechecked exception wrapping, global test flags, superclass initialization and immediate closure execution; no additional issue found.

No additional user focus was supplied. There were no existing inline threads to carry forward. Review converged after one round: both the complete reviewer and the independent storage-order risk reviewer returned NO_NEW_VALUABLE_FINDINGS, and the main verification/final sweep left no unresolved candidates or static coverage gaps.

Validation limit: static review only. No builds, tests, benchmarks or runtime checks were run; the PR author's reported test results were not independently reproduced.

Review converged after 1 round(s).

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17585	5172	5054	5054
q2	2156	300	254	254
q3	10263	1393	811	811
q4	4671	462	341	341
q5	7444	791	529	529
q6	181	185	149	149
q7	754	797	605	605
q8	9270	1338	1103	1103
q9	5493	4220	4182	4182
q10	6816	1294	1032	1032
q11	420	245	223	223
q12	637	406	274	274
q13	18080	4057	3016	3016
q14	281	277	255	255
q15	q16	743	722	652	652
q17	1207	762	588	588
q18	7039	6187	6101	6101
q19	1107	951	616	616
q20	382	337	220	220
q21	5235	2150	2292	2150
q22	346	295	253	253
Total cold run time: 100110 ms
Total hot run time: 28408 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5598	5592	5623	5592
q2	690	582	513	513
q3	5217	5386	4913	4913
q4	1982	2102	1559	1559
q5	5256	5169	5716	5169
q6	266	205	148	148
q7	2364	2138	1884	1884
q8	3070	2931	2732	2732
q9	8205	8088	8060	8060
q10	3733	3631	3235	3235
q11	609	431	402	402
q12	696	686	519	519
q13	3521	3939	3226	3226
q14	322	324	292	292
q15	q16	693	708	654	654
q17	8270	7646	7130	7130
q18	12929	12182	12864	12182
q19	907	773	826	773
q20	2134	2176	1931	1931
q21	5535	4559	4650	4559
q22	498	463	422	422
Total cold run time: 72495 ms
Total hot run time: 65895 ms

@hello-stephen

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

query5	4336	579	437	437
query6	427	216	190	190
query7	4810	445	230	230
query8	329	171	156	156
query9	8782	3209	3197	3197
query10	478	322	262	262
query11	6001	3865	3562	3562
query12	145	92	88	88
query13	1261	444	339	339
query14	6105	3938	3651	3651
query14_1	3406	3437	3437	3437
query15	208	197	180	180
query16	959	440	406	406
query17	848	657	544	544
query18	2427	432	323	323
query19	200	173	135	135
query20	88	84	84	84
query21	211	131	108	108
query22	13002	13060	12713	12713
query23	13560	12952	12466	12466
query23_1	12714	12553	12466	12466
query24	7410	851	480	480
query24_1	478	483	490	483
query25	568	396	339	339
query26	1253	254	137	137
query27	2798	438	274	274
query28	4670	2004	2033	2004
query29	1534	596	431	431
query30	302	223	182	182
query31	1010	925	807	807
query32	143	91	83	83
query33	511	295	232	232
query34	1000	844	506	506
query35	737	746	636	636
query36	807	813	728	728
query37	125	109	83	83
query38	1748	1745	1656	1656
query39	794	791	738	738
query39_1	745	728	738	728
query40	218	128	93	93
query41	66	63	62	62
query42	84	81	81	81
query43	342	363	306	306
query44	1314	705	697	697
query45	174	178	168	168
query46	827	968	570	570
query47	3019	2886	2632	2632
query48	300	299	217	217
query49	577	392	287	287
query50	680	276	202	202
query51	10288	10450	10293	10293
query52	82	82	73	73
query53	195	203	161	161
query54	247	195	194	194
query55	70	69	62	62
query56	216	215	218	215
query57	1657	1580	1570	1570
query58	302	268	255	255
query59	2154	2181	1927	1927
query60	296	240	228	228
query61	148	142	176	142
query62	378	333	280	280
query63	184	156	162	156
query64	2738	917	753	753
query65	3343	3251	3259	3251
query66	1774	419	309	309
query67	20161	20120	20020	20020
query68	2949	1004	618	618
query69	380	307	263	263
query70	827	812	758	758
query71	288	232	213	213
query72	2706	2597	2344	2344
query73	511	528	298	298
query74	4617	4510	4338	4338
query75	2316	2281	1922	1922
query76	2300	1010	579	579
query77	334	379	270	270
query78	9626	9661	9225	9225
query79	903	864	538	538
query80	454	425	339	339
query81	534	311	273	273
query82	213	134	104	104
query83	206	196	185	185
query84	296	115	100	100
query85	763	425	375	375
query86	256	238	234	234
query87	1951	1973	1802	1802
query88	3691	2760	2746	2746
query89	315	285	246	246
query90	2092	166	168	166
query91	165	151	124	124
query92	100	89	77	77
query93	968	1007	578	578
query94	454	365	266	266
query95	575	397	313	313
query96	681	485	242	242
query97	2455	2395	2324	2324
query98	161	153	148	148
query99	760	762	639	639
Total cold run time: 233334 ms
Total hot run time: 150715 ms

@hello-stephen

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

query1	0.00	0.00	0.00
query2	0.10	0.05	0.05
query3	0.26	0.08	0.08
query4	1.61	0.10	0.10
query5	0.25	0.26	0.24
query6	1.17	0.67	0.67
query7	0.04	0.01	0.01
query8	0.06	0.04	0.04
query9	0.40	0.36	0.35
query10	0.58	0.60	0.58
query11	0.20	0.14	0.14
query12	0.18	0.14	0.14
query13	0.48	0.48	0.49
query14	1.04	1.00	1.00
query15	0.63	0.60	0.61
query16	0.34	0.35	0.34
query17	1.10	1.16	1.15
query18	0.22	0.20	0.19
query19	2.05	2.00	2.01
query20	0.02	0.02	0.01
query21	15.48	0.20	0.13
query22	4.93	0.06	0.06
query23	16.27	0.33	0.13
query24	2.63	0.58	0.36
query25	0.12	0.07	0.05
query26	1.15	0.22	0.14
query27	0.05	0.04	0.03
query28	2.65	0.79	0.35
query29	12.48	4.26	3.34
query30	0.28	0.13	0.10
query31	2.78	0.55	0.33
query32	3.23	0.61	0.49
query33	3.19	3.31	3.27
query34	15.19	4.03	3.38
query35	3.33	3.35	3.32
query36	0.54	0.44	0.44
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.04	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: 95.55 s
Total hot run time: 24.44 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

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

… in the suite comment

### What problem does this PR solve?

Issue Number: None

Related PR: apache#61141, apache#69601

Problem Summary: The header comment of test_tvf_avro_format_rejected said
that apache#69601 removed the BE Avro reader. On master the reader was removed by
apache#61141; apache#69601 made FE reject format=avro during analysis and added a BE-side
guard. Correct the PR number in the comment. Comment only.

### Release note

None

### Check List (For Author)

- Test: No need to test (comment-only change); the suite still passes the
  offline Groovy parse check
- Behavior changed: No
- Does this need documentation: No

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@morningman

Copy link
Copy Markdown
Contributor Author

/review

@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed PR 69849 at exact head 202742a against base 2a4191c. The change is test-only and adds FE unit coverage plus a regression suite for S3/HDFS table functions with format=avro and FORMAT=AVRO.

The constructor paths were traced through ExternalFileTableValuedFunction.parseCommonProperties: FileFormatProperties rejects Avro with the Nereids AnalysisException and exact message before StorageAdapter binding, URI validation, or file listing. The JUnit assertions therefore use the correct exception type, and the regression cases are hermetic and use the established suite/test/exception DSL with substring matching. Both changed paths, imports, case coverage, suite discovery, and exception handling were independently checked. No locking, RPC, cloud visible-version, or production behavior path is changed. There are no existing inline review threads or blocking IDs, and no additional user focus points were supplied.

No builds or tests were executed because this invocation is static-only; the review evidence is from the exact diff and traced source/harness paths. No actionable findings remain. Review converged in round 1.

Review converged after 1 round(s).

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17609	5197	5053	5053
q2	2156	308	254	254
q3	10232	1379	817	817
q4	4686	469	334	334
q5	7447	797	527	527
q6	184	183	152	152
q7	744	806	600	600
q8	9262	1323	1097	1097
q9	5419	4196	4165	4165
q10	6819	1282	1015	1015
q11	446	246	223	223
q12	638	391	274	274
q13	18111	3695	3041	3041
q14	274	280	247	247
q15	q16	738	703	661	661
q17	1214	745	579	579
q18	7050	6157	6111	6111
q19	1201	952	605	605
q20	388	353	233	233
q21	5639	2158	2258	2158
q22	349	306	265	265
Total cold run time: 100606 ms
Total hot run time: 28411 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5583	5614	5617	5614
q2	688	582	545	545
q3	5173	5376	4901	4901
q4	1960	2138	1559	1559
q5	5241	5182	5690	5182
q6	259	207	160	160
q7	2368	2106	1927	1927
q8	3091	2942	2645	2645
q9	8070	8087	8069	8069
q10	3722	3677	3274	3274
q11	600	442	428	428
q12	686	707	510	510
q13	3584	4006	3340	3340
q14	326	315	277	277
q15	q16	689	700	649	649
q17	8374	7527	7101	7101
q18	12869	12109	12785	12109
q19	915	789	786	786
q20	2127	2138	1933	1933
q21	5514	4575	4642	4575
q22	476	444	414	414
Total cold run time: 72315 ms
Total hot run time: 65998 ms

@hello-stephen

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

query5	4307	578	456	456
query6	416	208	186	186
query7	4800	440	231	231
query8	325	161	152	152
query9	8784	3140	3146	3140
query10	473	315	291	291
query11	6032	3841	3586	3586
query12	160	93	85	85
query13	1236	451	329	329
query14	6155	3906	3620	3620
query14_1	3387	3427	3366	3366
query15	211	196	179	179
query16	979	456	442	442
query17	853	652	549	549
query18	2441	421	313	313
query19	210	162	134	134
query20	87	84	84	84
query21	208	133	112	112
query22	12980	13007	12741	12741
query23	13514	12876	12228	12228
query23_1	12482	12480	12494	12480
query24	7405	825	473	473
query24_1	490	491	473	473
query25	541	419	383	383
query26	1253	261	138	138
query27	2767	445	284	284
query28	4595	2002	1978	1978
query29	1576	599	462	462
query30	291	223	187	187
query31	1027	928	823	823
query32	149	91	95	91
query33	522	304	247	247
query34	892	841	498	498
query35	741	757	642	642
query36	807	822	729	729
query37	132	100	85	85
query38	1773	1759	1643	1643
query39	796	792	743	743
query39_1	737	723	741	723
query40	222	125	111	111
query41	75	68	69	68
query42	97	84	82	82
query43	344	366	315	315
query44	1319	703	708	703
query45	185	180	178	178
query46	841	966	594	594
query47	2957	2974	2855	2855
query48	294	321	215	215
query49	562	393	284	284
query50	693	270	213	213
query51	10584	10443	10599	10443
query52	78	86	71	71
query53	184	203	149	149
query54	234	184	195	184
query55	76	70	62	62
query56	225	225	207	207
query57	1635	1629	1562	1562
query58	284	263	260	260
query59	2177	2184	1982	1982
query60	289	235	226	226
query61	145	144	150	144
query62	395	332	310	310
query63	189	165	161	161
query64	2734	1002	734	734
query65	3326	3254	3251	3251
query66	1783	415	331	331
query67	20101	20423	20111	20111
query68	3028	1012	630	630
query69	405	297	241	241
query70	870	770	777	770
query71	294	231	225	225
query72	2813	2599	2366	2366
query73	517	513	301	301
query74	4626	4521	4328	4328
query75	2325	2290	1919	1919
query76	2314	1015	583	583
query77	352	375	258	258
query78	9860	9719	9196	9196
query79	991	900	520	520
query80	760	428	338	338
query81	555	324	278	278
query82	580	133	106	106
query83	304	202	191	191
query84	309	119	105	105
query85	866	440	369	369
query86	357	240	234	234
query87	1986	1965	1805	1805
query88	3830	2807	2786	2786
query89	338	278	239	239
query90	1808	175	168	168
query91	166	154	132	132
query92	101	86	87	86
query93	1004	1006	571	571
query94	509	308	288	288
query95	566	332	373	332
query96	688	484	238	238
query97	2440	2431	2340	2340
query98	165	151	149	149
query99	761	756	644	644
Total cold run time: 234829 ms
Total hot run time: 151201 ms

@hello-stephen

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

query1	0.00	0.00	0.00
query2	0.10	0.06	0.06
query3	0.27	0.09	0.09
query4	1.62	0.10	0.10
query5	0.23	0.24	0.24
query6	1.17	0.68	0.69
query7	0.03	0.01	0.00
query8	0.05	0.04	0.04
query9	0.41	0.35	0.35
query10	0.62	0.59	0.60
query11	0.20	0.14	0.14
query12	0.19	0.15	0.15
query13	0.50	0.50	0.50
query14	1.03	1.01	0.98
query15	0.64	0.61	0.61
query16	0.33	0.36	0.36
query17	1.12	1.12	1.13
query18	0.20	0.19	0.19
query19	2.13	2.00	1.99
query20	0.02	0.02	0.01
query21	15.47	0.18	0.14
query22	4.89	0.06	0.05
query23	16.29	0.32	0.13
query24	3.03	0.65	0.36
query25	0.13	0.07	0.05
query26	1.40	0.21	0.16
query27	0.04	0.03	0.05
query28	3.75	0.77	0.35
query29	12.45	4.14	3.24
query30	0.28	0.13	0.10
query31	2.77	0.57	0.33
query32	3.22	0.61	0.50
query33	3.23	3.20	3.26
query34	15.40	4.00	3.41
query35	3.35	3.32	3.34
query36	0.59	0.49	0.43
query37	0.11	0.07	0.06
query38	0.05	0.04	0.04
query39	0.04	0.03	0.02
query40	0.17	0.15	0.15
query41	0.09	0.03	0.03
query42	0.03	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 97.68 s
Total hot run time: 24.36 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage `` 🎉
Increment coverage report
Complete coverage report

@924060929 924060929 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This test-only PR pins the existing FE rejection of Avro S3/HDFS table functions before storage validation or file access. Both constructors reach parseCommonProperties and the file-format factory first; SQL exception wrapping preserves the asserted diagnostic.

Reviewed the complete diff at 202742a against merge-base 2a4191c, including constructor paths and regression assertion semantics. The tests reject successful queries and unrelated errors, cover both functions and both format spellings, and introduce no production changes. No actionable P0/P1/P2 findings. APPROVE within the FE static-review scope.

The supplied records include Gabriel39's approval and an AI review with no findings at this head; there are no existing inline comments. P0 Regression, FE UT, External Regression, and compilation are reported successful, while check_coverage_fe failed. Required-check completeness is unknown, so this approval does not establish merge readiness. No builds or tests were run during this review.

Automated FE-focused static review (GPT-6.1 Sol, medium). No build or tests were run.

@morningman
morningman merged commit f521ebf into apache:master Oct 31, 2026
36 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants