Skip to content

Conversation

@nsivarajan
Copy link
Contributor

What problem does this PR solve?

Issue Number: close #60366

Related PR: #57710

Problem Summary:

Apache Doris Frontend fails to start when enable_https=true with the following error:

 java.lang.IllegalStateException: WebSocketComponents has not been created
     at org.eclipse.jetty.ee10.websocket.server.internal.DelegatedServerUpgradeRequest.getComponents(DelegatedServerUpgradeRequest.java:106)
     at org.eclipse.jetty.ee10.websocket.server.internal.DelegatedServerUpgradeRequest.getWebSocketComponents(DelegatedServerUpgradeRequest.java:125)

RCA for failure : Jetty 12 introduced strict lifecycle state validation for WebSocket initialization.

Fix:

Use Spring Boot's addServerCustomizers() hook which runs before the WebAppContext starts, combined with server.getDescendant(WebAppContext.class) to safely navigate Jetty 12's handler tree.

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

@Thearas
Copy link
Contributor

Thearas commented Jan 29, 2026

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?

@gavinchou gavinchou requested a review from CalvinKirs January 29, 2026 16:27
@gavinchou
Copy link
Contributor

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17619	5217	5036	5036
q2	2015	301	192	192
q3	10226	1325	726	726
q4	10224	909	317	317
q5	7578	2125	1946	1946
q6	201	183	149	149
q7	889	738	597	597
q8	9258	1351	1039	1039
q9	5173	4853	4893	4853
q10	6815	1947	1549	1549
q11	527	290	277	277
q12	343	379	217	217
q13	17774	4045	3238	3238
q14	237	234	212	212
q15	894	850	807	807
q16	680	673	619	619
q17	641	784	511	511
q18	7082	6497	7255	6497
q19	1392	1091	622	622
q20	408	383	254	254
q21	2738	2157	2135	2135
q22	383	342	292	292
Total cold run time: 103097 ms
Total hot run time: 32085 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5506	5563	5504	5504
q2	262	354	263	263
q3	2290	2867	2500	2500
q4	1465	1886	1415	1415
q5	4845	4448	4642	4448
q6	226	175	134	134
q7	2009	1895	1734	1734
q8	2501	2525	2403	2403
q9	7406	7387	7275	7275
q10	2788	2938	2534	2534
q11	533	476	473	473
q12	730	730	691	691
q13	3710	3983	3230	3230
q14	274	292	276	276
q15	826	795	789	789
q16	634	668	636	636
q17	1072	1274	1292	1274
q18	7585	7363	7302	7302
q19	804	776	783	776
q20	1968	2024	1890	1890
q21	4422	4229	4137	4137
q22	588	551	498	498
Total cold run time: 52444 ms
Total hot run time: 50182 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.05
query2	0.09	0.04	0.05
query3	0.26	0.08	0.08
query4	1.61	0.11	0.11
query5	0.25	0.24	0.24
query6	1.15	0.67	0.67
query7	0.03	0.02	0.03
query8	0.05	0.04	0.03
query9	0.58	0.49	0.49
query10	0.55	0.56	0.54
query11	0.13	0.10	0.09
query12	0.13	0.10	0.10
query13	0.62	0.61	0.62
query14	1.08	1.06	1.06
query15	0.88	0.86	0.87
query16	0.37	0.40	0.38
query17	1.15	1.10	1.17
query18	0.22	0.20	0.20
query19	2.03	1.98	2.04
query20	0.02	0.02	0.01
query21	15.41	0.27	0.14
query22	5.37	0.06	0.06
query23	15.83	0.27	0.11
query24	1.41	0.57	0.17
query25	0.09	0.07	0.07
query26	0.14	0.14	0.13
query27	0.07	0.06	0.05
query28	3.70	1.14	0.96
query29	12.55	3.82	3.14
query30	0.28	0.14	0.11
query31	2.81	0.64	0.39
query32	3.23	0.60	0.48
query33	3.21	3.35	3.29
query34	16.21	5.42	4.75
query35	4.77	4.77	4.83
query36	0.65	0.50	0.48
query37	0.11	0.06	0.06
query38	0.07	0.04	0.03
query39	0.05	0.03	0.04
query40	0.18	0.17	0.16
query41	0.09	0.03	0.03
query42	0.04	0.03	0.03
query43	0.06	0.03	0.03
Total cold run time: 97.58 s
Total hot run time: 28.12 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 30.00% (6/20) 🎉
Increment coverage report
Complete coverage report

@nsivarajan nsivarajan changed the title fix FE startup due to websocket startup [fix](web) FE startup due to websocket startup Jan 30, 2026
@nsivarajan nsivarajan changed the title [fix](web) FE startup due to websocket startup [fix](web) FE startup fail due to websocket startup Jan 30, 2026
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] After Upgrading Jetty12 - Doris FE won't start

5 participants