Skip to content

[fix](fe) Treat an unfinished index change job of the same index as a conflict in either direction - #69443

Merged
gavinchou merged 1 commit into
apache:masterfrom
airborne12:fix-drop-index-blocked-by-pending-build
Oct 25, 2026
Merged

gavinchou merged 1 commit into
apache:masterfrom
airborne12:fix-drop-index-blocked-by-pending-build

Conversation

@airborne12

Copy link
Copy Markdown
Member

What problem does this PR solve?

Issue Number: None

Related PR: #68674

Problem Summary:

In local (non-cloud) mode, an unfinished index change job only conflicts with a new one on the same partition when both go in the same direction. An unfinished BUILD INDEX idx therefore does not block DROP INDEX idx (full-table or PARTITION), and an unfinished DROP INDEX idx PARTITION (p) does not block BUILD INDEX idx on p:

BUILD INDEX idx_v1 ON t;           -- the job is still running
ALTER TABLE t DROP INDEX idx_v1;   -- accepted

The two jobs are submitted to the schema change thread pool independently, and the BE tablet locks only make them mutually exclusive, not ordered. If the build runs after the drop, it writes idx_v1 back into the rowsets, although the table metadata no longer has that index (or, for the opposite order, the index the user just built is deleted again). Cloud mode already treats any unfinished job on the partition as a conflict.

Root cause: SchemaChangeHandler#hasIndexChangeJobOnPartition matches existing jobs in local mode with IndexChangeJob#hasSameAlterInvertedIndex(isDrop, indexes), which only reports a job of the same direction.

Fix: IndexChangeJob#hasAlterInvertedIndex(indexes) matches a job that builds or drops any of the indexes, in either direction, and hasIndexChangeJobOnPartition drops its direction parameter. The light DROP INDEX pre-check, DROP INDEX ... PARTITION and BUILD INDEX all use this check, so each of them is rejected while a job of the same index is unfinished on the partition, with the existing error message; it can be retried once the job finishes.

Release note

In non-cloud mode, DROP INDEX and BUILD INDEX are rejected while an index change job of the same index in the other direction is unfinished on the partition, instead of running both jobs in no particular order.

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

    SchemaChangeHandlerTest#testDropIndexRejectedByPendingBuildOfSameIndex registers an unfinished build job of idx_v1 on p1 (in indexChangeJobs only, so the scheduler cannot cancel it), checks that DROP INDEX idx_v1 and DROP INDEX idx_v1 PARTITION (p1) are rejected and keep the index, then that the drop succeeds once the job is FINISHED. The test fails without the change.

  • Behavior changed:

    • No.
    • Yes.
      In non-cloud mode an unfinished index change job conflicts with a new job of the same index on the same partition in either direction.
  • 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

🤖 Generated with Claude Code

@airborne12

Copy link
Copy Markdown
Member Author

run buildall

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

@airborne12

Copy link
Copy Markdown
Member Author

/reivew

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17574	5203	5062	5062
q2	2188	321	285	285
q3	10155	1390	814	814
q4	4680	468	338	338
q5	7437	813	524	524
q6	183	185	153	153
q7	738	799	604	604
q8	9260	1325	1083	1083
q9	5580	4199	4174	4174
q10	6815	1292	1044	1044
q11	438	240	226	226
q12	640	400	281	281
q13	18107	3665	3004	3004
q14	270	270	248	248
q15	q16	751	715	661	661
q17	1207	751	590	590
q18	6989	6172	6109	6109
q19	1107	960	635	635
q20	381	342	226	226
q21	5764	2479	2408	2408
q22	372	334	269	269
Total cold run time: 100636 ms
Total hot run time: 28738 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5962	5966	6095	5966
q2	775	598	566	566
q3	5633	5835	5208	5208
q4	2035	2163	1566	1566
q5	5621	5519	5815	5519
q6	235	188	144	144
q7	2197	1950	1802	1802
q8	3005	2633	2634	2633
q9	8106	7793	7647	7647
q10	3628	3574	3129	3129
q11	593	405	374	374
q12	658	655	503	503
q13	3272	3556	3009	3009
q14	280	287	259	259
q15	q16	638	666	604	604
q17	7780	7031	6872	6872
q18	12882	12219	12819	12219
q19	898	776	785	776
q20	2208	2132	1917	1917
q21	5644	4613	4687	4613
q22	481	460	402	402
Total cold run time: 72531 ms
Total hot run time: 65728 ms

@hello-stephen

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

query5	4321	584	433	433
query6	431	212	192	192
query7	4809	439	235	235
query8	327	169	150	150
query9	8804	3164	3178	3164
query10	493	299	255	255
query11	5987	3883	3595	3595
query12	146	91	85	85
query13	1248	424	330	330
query14	6096	4015	3681	3681
query14_1	3395	3398	3429	3398
query15	208	199	188	188
query16	951	503	434	434
query17	865	660	546	546
query18	2426	435	321	321
query19	203	168	142	142
query20	86	86	88	86
query21	210	132	109	109
query22	13016	13054	12870	12870
query23	13446	12859	12737	12737
query23_1	12479	12449	12607	12449
query24	7392	849	466	466
query24_1	474	483	481	481
query25	565	388	341	341
query26	1261	262	139	139
query27	2770	440	279	279
query28	4664	1955	1977	1955
query29	1567	592	438	438
query30	304	219	185	185
query31	998	922	809	809
query32	146	82	92	82
query33	523	297	225	225
query34	911	856	504	504
query35	756	771	643	643
query36	843	793	725	725
query37	127	96	82	82
query38	1777	1753	1691	1691
query39	790	790	754	754
query39_1	746	731	737	731
query40	225	113	92	92
query41	68	68	63	63
query42	87	81	86	81
query43	347	364	313	313
query44	1327	717	684	684
query45	180	182	163	163
query46	827	979	569	569
query47	2947	2765	2793	2765
query48	296	304	216	216
query49	583	398	308	308
query50	665	276	203	203
query51	10541	10568	10528	10528
query52	78	81	68	68
query53	186	211	154	154
query54	243	195	185	185
query55	75	66	69	66
query56	260	219	207	207
query57	1662	1611	1604	1604
query58	281	259	266	259
query59	2106	2127	1931	1931
query60	286	244	216	216
query61	152	149	151	149
query62	393	340	287	287
query63	187	157	163	157
query64	2765	944	762	762
query65	3337	3298	3295	3295
query66	1797	416	298	298
query67	20242	20123	19794	19794
query68	2959	1001	602	602
query69	379	292	246	246
query70	873	788	769	769
query71	301	238	221	221
query72	2797	2775	2279	2279
query73	527	536	302	302
query74	4640	4529	4357	4357
query75	2324	2288	1927	1927
query76	2331	1023	618	618
query77	393	370	278	278
query78	9688	9607	9209	9209
query79	982	842	525	525
query80	910	447	338	338
query81	567	320	273	273
query82	584	137	104	104
query83	309	195	182	182
query84	313	123	110	110
query85	892	424	370	370
query86	351	245	232	232
query87	2016	1965	1794	1794
query88	3683	2688	2687	2687
query89	329	284	241	241
query90	1814	175	174	174
query91	177	153	128	128
query92	98	106	91	91
query93	996	999	572	572
query94	535	322	279	279
query95	578	387	305	305
query96	662	489	236	236
query97	2432	2431	2355	2355
query98	171	153	146	146
query99	773	760	631	631
Total cold run time: 234857 ms
Total hot run time: 151358 ms

@hello-stephen

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

query1	0.01	0.01	0.01
query2	0.09	0.05	0.05
query3	0.26	0.10	0.09
query4	1.62	0.10	0.10
query5	0.23	0.24	0.24
query6	1.19	0.69	0.68
query7	0.04	0.01	0.01
query8	0.05	0.04	0.04
query9	0.39	0.35	0.34
query10	0.59	0.60	0.61
query11	0.20	0.14	0.16
query12	0.19	0.15	0.14
query13	0.50	0.51	0.50
query14	1.04	1.01	1.02
query15	0.64	0.63	0.61
query16	0.34	0.36	0.35
query17	1.16	1.15	1.13
query18	0.20	0.17	0.20
query19	2.12	1.98	2.04
query20	0.02	0.01	0.02
query21	15.54	0.18	0.13
query22	4.91	0.05	0.05
query23	16.30	0.32	0.12
query24	3.07	0.45	0.44
query25	0.10	0.08	0.06
query26	0.83	0.21	0.16
query27	0.05	0.03	0.04
query28	3.73	0.84	0.39
query29	12.48	4.12	3.21
query30	0.28	0.13	0.10
query31	2.78	0.55	0.32
query32	3.22	0.60	0.51
query33	3.14	3.20	3.26
query34	15.36	3.99	3.40
query35	3.30	3.35	3.35
query36	0.56	0.49	0.42
query37	0.10	0.06	0.07
query38	0.05	0.04	0.04
query39	0.04	0.04	0.03
query40	0.17	0.15	0.14
query41	0.09	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.03	0.04
Total cold run time: 97.06 s
Total hot run time: 24.45 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 20.00% (1/5) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 6.33% (5/79) 🎉
Increment coverage report
Complete coverage report

@airborne12

Copy link
Copy Markdown
Member 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.

Static review of #69443 at 617e004 found no new verified defect. All three changed files and the relevant DDL, scheduling, task, replay and test paths were reviewed. There are no existing inline findings to retain and no additional user-provided focus points.

Critical checkpoints:

  1. Goal and evidence: unfinished same-index jobs now conflict in either direction. The added test covers pending BUILD blocking both full-table DROP and partition DROP, retained index metadata, and successful DROP after FINISHED. This is static inspection of the test; it was not executed.
  2. Scope and reuse: the change is limited to the existing index-ID overlap predicate, its callers and one focused test; no competing conflict implementation is introduced.
  3. Concurrency and locks: SchemaChangeHandler.process holds the table write lock across checking, metadata changes and job publication. Concurrent-map snapshots retain safe traversal. No new locks, lock-order changes, RPCs or blocking work are added.
  4. Lifecycle: job scheduling, synchronized run/cancel, task completion, terminal-state exclusion and replay are preserved. The synthetic test job is kept out of the runnable map and removed in finally.
  5. Configuration: no additions or changes.
  6. Compatibility: all callers of the Java-internal method/signature changes are migrated; serialized job fields and storage formats are unchanged.
  7. Thrift/protobuf: no definition changes or new field IDs.
  8. Parallel paths: BUILD, partition DROP and full-table light DROP use the shared predicate; local conflicts remain scoped to matching index IDs and partitions, and cloud mode retains its broader per-partition conflict policy.
  9. Conditions and errors: index identity and job-state filters remain justified; the new comment explains the ordering hazard. Conflicts propagate the existing DDL error rather than silently succeeding.
  10. Test coverage: the added deterministic JUnit test covers the motivating negative cases and FINISHED retry. Reverse-direction admission, distinct-index/partition independence, CANCELLED and cloud behavior were traced statically; the added test does not exercise those or BE task ordering.
  11. Test results: no expected-output files changed. No builds or tests were run, as required by this review's static-only contract.
  12. Observability: existing conflict errors and job logs are sufficient for this predicate change; no new operational state requires metrics.
  13. Transactions and persistence: transaction watershed handling and the existing creation/completion journal and replay paths are unchanged; no new failover state is introduced.
  14. Writes and atomicity: full-table DROP preflight runs before metadata mutation. Partition-scoped operations retain the preexisting per-partition submission loop, including possible earlier job publication before a later conflict; this was independently checked and is not a new defect in this change.
  15. FE/BE propagation: no new transmitted variables; existing task serialization is unchanged.
  16. Performance: the map snapshot and nested index-ID comparison retain their existing complexity; opposite-direction comparisons are necessary for the intended behavior.
  17. Other core invariants: no changed committed-data visibility, visible-version handling, delete bitmap behavior, BE memory ownership or nullable handling was identified. No additional new issue was verified.

Coverage limits: review was static only; no runtime concurrency, FE/BE integration, build or test-result validation is claimed.

Review converged after 2 round(s).

gavinchou
gavinchou previously approved these changes Oct 24, 2026
… conflict in either direction

Issue Number: None

Related PR: apache#68674

Problem Summary: In non-cloud mode an unfinished index change job only conflicted with a new one on
the same partition when both went in the same direction, so an unfinished `BUILD INDEX idx` did not
block `DROP INDEX idx` (full-table or PARTITION), and the other way round. The two jobs run in no
particular order (the BE tablet locks only make them mutually exclusive), so a build running after
the drop writes the dropped index back into the rowsets although the table no longer has it.

Fix: IndexChangeJob#hasAlterInvertedIndex matches a job of any of the indexes in either direction,
and SchemaChangeHandler#hasIndexChangeJobOnPartition no longer takes a direction. The light DROP
INDEX pre-check, DROP INDEX ... PARTITION and BUILD INDEX all use it.

In non-cloud mode DROP INDEX and BUILD INDEX are rejected while an index change job of the same
index in the other direction is unfinished on the partition.

- Test: Unit Test
    - New testDropIndexRejectedByPendingBuildOfSameIndex fails without the change and passes with
      it.
    - SchemaChangeHandlerTest, CreateTableWithBloomFilterIndexTest, IndexChangeJobTest,
      CloudIndexTest, SchemaChangeJobV2Test, ChangelogConfigPublicationTest,
      OlapTableChangelogSchemaTest, VariantColumnNameTest, InternalSchemaAlterTest: 176 tests pass;
      `mvn checkstyle:check -pl fe-core` reports 0 violations.
- Behavior changed: Yes, see release note.
- Does this need documentation: No

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@airborne12
airborne12 force-pushed the fix-drop-index-blocked-by-pending-build branch from 617e004 to 95c9d4e Compare October 24, 2026 08:52
@airborne12

Copy link
Copy Markdown
Member Author

run buildall

@airborne12

Copy link
Copy Markdown
Member 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.

Static review of PR #69443 at 95c9d4e: no substantiated newly introduced defects. The shared conflict predicate now excludes active BUILD and DROP jobs for the same index in either direction. Review converged in 2 rounds with two complete reviewers and one separate risk reviewer.

Critical checkpoint conclusions:

  • Goal and evidence: both full-table DROP preflight and partition BUILD/DROP dispatch use the corrected predicate. The new JUnit case checks both DROP forms against a pending BUILD, retained index metadata, and successful DROP after FINISHED; inspected, not executed.
  • Scope and reuse: focused change to one shared predicate and its callers, plus a regression test; no stale references to the removed helper/signatures found.
  • Concurrency and locks: DDL admission and job publication remain under the table write lock; scheduler workers and user cancellation retain the existing job monitor. No new lock order, blocking work, RPC, or journal wait is introduced by the predicate.
  • Lifecycle: identity/index lists are populated before history and runnable-map publication. WAITING_TXN/RUNNING block; FINISHED/CANCELLED permit retries. Cancellation semantics and static initialization are unchanged.
  • Configuration: no added settings or dynamic-configuration requirements.
  • Compatibility: internal helper signatures have updated callers; serialized fields and storage/request formats remain unchanged.
  • Thrift/protobuf IDs: no definition changes.
  • Parallel paths: full-table and partition routes are covered, including reverse BUILD-after-partition-DROP. Separate partitions/indexes retain existing local-mode behavior; cloud retains its broader per-partition exclusion.
  • Conditions and errors: the new comment explains the unordered build/drop hazard. The existing conflict exceptions still reject the operation; full-table preflight precedes metadata mutation.
  • Test coverage: the deterministic history-only fixture cannot be scheduled or time out, and cleanup/job accounting match surrounding tests. Reverse direction, RUNNING/CANCELLED, independent-scope and replay admission cases are statically traced but lack new dedicated tests.
  • Test results: no expected-result/output files change; no build or test result is claimed.
  • Observability: existing conflict errors, job logs and SHOW job state cover this admission change; no new asynchronous mechanism needs instrumentation.
  • Transactions and persistence: existing transaction watershed, EditLog records and replay registration remain unchanged; replayed active jobs enter the history used by admission.
  • Writes, atomicity and crashes: full-table rejection precedes metadata publication. The existing incremental partition scheduling and dispatched-task cancellation behavior remain outside this fix; no new recovery or resource-ownership path is added.
  • FE/BE variables: no new transferred fields; operation direction is still sent independently to BE.
  • Performance: retained-job scans and index-ID overlap retain the existing complexity; no new data-path allocation or avoidable expensive work identified.
  • Other invariants: no modified transaction visibility, partition visible-version, delete-bitmap or BE memory-accounting logic. No additional introduced issue substantiated after upstream/downstream rechecks.

There were no existing inline threads to revalidate and no additional user-provided focus points. All three changed files and identified risks were covered. Remaining limits: this was static review only; builds, unit/regression tests, runtime concurrency and failover were not exercised. No unresolved patch-specific candidate remains.

Review converged after 2 round(s).

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17601	5217	5039	5039
q2	2127	319	251	251
q3	10236	1386	818	818
q4	4677	465	337	337
q5	7435	798	533	533
q6	182	183	157	157
q7	757	791	607	607
q8	9269	1316	1156	1156
q9	5439	4221	4208	4208
q10	6815	1299	1031	1031
q11	439	243	228	228
q12	638	401	276	276
q13	18083	3521	3014	3014
q14	278	276	248	248
q15	q16	738	718	661	661
q17	1193	759	583	583
q18	7070	6212	6131	6131
q19	1106	948	627	627
q20	380	337	225	225
q21	4608	2142	2277	2142
q22	355	309	273	273
Total cold run time: 99426 ms
Total hot run time: 28545 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5636	5568	5589	5568
q2	689	581	527	527
q3	5227	5382	4951	4951
q4	2019	2130	1550	1550
q5	5292	5125	5510	5125
q6	265	208	158	158
q7	2340	1979	1862	1862
q8	3043	2685	2652	2652
q9	7920	8004	7997	7997
q10	3726	3649	3210	3210
q11	626	424	413	413
q12	844	719	527	527
q13	3579	4062	3225	3225
q14	313	301	295	295
q15	q16	718	701	646	646
q17	8142	7585	6905	6905
q18	13014	12194	12896	12194
q19	902	806	788	788
q20	2179	2158	1927	1927
q21	5635	4600	4821	4600
q22	503	467	408	408
Total cold run time: 72612 ms
Total hot run time: 65528 ms

@hello-stephen

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

query5	4306	586	446	446
query6	434	217	193	193
query7	4795	438	228	228
query8	315	168	154	154
query9	8824	3129	3121	3121
query10	462	309	250	250
query11	6054	3883	3572	3572
query12	150	101	90	90
query13	1254	444	321	321
query14	6112	3980	3666	3666
query14_1	3450	3501	3394	3394
query15	216	215	193	193
query16	952	423	400	400
query17	839	620	519	519
query18	2421	434	299	299
query19	187	159	128	128
query20	81	82	81	81
query21	210	124	104	104
query22	12954	12984	12859	12859
query23	13344	12820	12390	12390
query23_1	12621	12494	12478	12478
query24	7338	818	464	464
query24_1	474	500	465	465
query25	503	391	340	340
query26	1250	252	135	135
query27	2768	435	263	263
query28	4646	1926	1949	1926
query29	1562	573	459	459
query30	304	223	189	189
query31	1015	930	841	841
query32	150	96	95	95
query33	538	312	252	252
query34	922	853	505	505
query35	729	768	640	640
query36	837	820	697	697
query37	130	110	84	84
query38	1767	1758	1667	1667
query39	782	794	747	747
query39_1	733	727	740	727
query40	215	117	98	98
query41	72	71	87	71
query42	89	86	83	83
query43	352	365	323	323
query44	1352	684	692	684
query45	183	181	178	178
query46	844	961	569	569
query47	2933	3057	2539	2539
query48	303	317	221	221
query49	589	404	300	300
query50	684	292	214	214
query51	10332	10574	10505	10505
query52	83	84	71	71
query53	186	213	159	159
query54	262	208	198	198
query55	74	67	64	64
query56	233	238	240	238
query57	1644	1649	1580	1580
query58	289	275	267	267
query59	2183	2128	1987	1987
query60	310	258	240	240
query61	173	166	164	164
query62	402	334	284	284
query63	198	162	167	162
query64	2900	983	760	760
query65	3340	3300	3287	3287
query66	1778	417	309	309
query67	19819	20351	19820	19820
query68	2912	1026	620	620
query69	389	280	253	253
query70	839	760	758	758
query71	302	233	208	208
query72	2705	2644	2282	2282
query73	521	520	290	290
query74	4626	4553	4379	4379
query75	2328	2263	1916	1916
query76	2306	1000	606	606
query77	337	382	268	268
query78	9826	9698	9141	9141
query79	986	840	513	513
query80	1225	414	351	351
query81	583	319	270	270
query82	610	135	105	105
query83	305	194	184	184
query84	320	123	100	100
query85	860	424	366	366
query86	396	240	227	227
query87	1972	1934	1801	1801
query88	3701	2670	2654	2654
query89	331	281	243	243
query90	1901	178	180	178
query91	170	158	127	127
query92	103	83	85	83
query93	1012	995	568	568
query94	640	319	296	296
query95	572	348	356	348
query96	660	477	232	232
query97	2466	2419	2285	2285
query98	172	152	146	146
query99	770	756	643	643
Total cold run time: 234900 ms
Total hot run time: 150594 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.10	0.06	0.05
query3	0.27	0.09	0.08
query4	1.62	0.11	0.11
query5	0.23	0.24	0.24
query6	1.16	0.67	0.67
query7	0.04	0.01	0.01
query8	0.06	0.04	0.04
query9	0.39	0.35	0.36
query10	0.56	0.57	0.59
query11	0.21	0.14	0.14
query12	0.19	0.15	0.16
query13	0.48	0.49	0.50
query14	1.03	1.01	1.00
query15	0.64	0.61	0.60
query16	0.34	0.35	0.38
query17	1.12	1.10	1.13
query18	0.21	0.20	0.19
query19	2.10	2.02	1.95
query20	0.02	0.02	0.01
query21	15.48	0.19	0.13
query22	4.98	0.06	0.05
query23	16.25	0.32	0.13
query24	3.08	0.61	0.36
query25	0.11	0.08	0.05
query26	0.82	0.20	0.16
query27	0.04	0.05	0.06
query28	3.43	0.82	0.38
query29	12.47	4.10	3.27
query30	0.28	0.12	0.09
query31	2.77	0.54	0.32
query32	3.23	0.59	0.50
query33	3.31	3.20	3.20
query34	15.32	3.96	3.36
query35	3.32	3.32	3.36
query36	0.54	0.42	0.42
query37	0.10	0.06	0.06
query38	0.05	0.05	0.04
query39	0.04	0.03	0.02
query40	0.18	0.15	0.15
query41	0.08	0.03	0.02
query42	0.03	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 96.73 s
Total hot run time: 24.24 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 42.86% (3/7) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 13.04% (6/46) 🎉
Increment coverage report
Complete coverage report

@gavinchou
gavinchou merged commit 8ebb909 into apache:master Oct 25, 2026
37 checks passed
@airborne12
airborne12 deleted the fix-drop-index-blocked-by-pending-build branch October 25, 2026 11:56
airborne12 added a commit to airborne12/apache-doris that referenced this pull request Oct 26, 2026
### What problem does this PR solve?

Issue Number: None

Related PR: apache#69444, apache#69442, apache#69443

Problem Summary: Merge master into the PR branch. Keep the original heavy
schema change fallback and its test, together with the upstream pending-build
and partition-scoped index drop checks and tests. Both sides added tests at
the same position in SchemaChangeHandlerTest.

### Release note

None

### Check List (For Author)

- Test: fe-core Checkstyle passed. SchemaChangeHandlerTest and IndexChangeJobTest
  are running; their final results will be checked before pushing.
- Behavior changed: No additional behavior change from resolving the conflict.
- Does this need documentation: No.
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.

3 participants