Skip to content

Conversation

@morningman
Copy link
Contributor

@morningman morningman commented Dec 26, 2025

What problem does this PR solve?

We should update the external table's last update time after operations like schema change, insert or refresh.
So the the SQL cache feature can get the right time to validate the cache.

Also merge schemaUpdateTime and eventUpdateTime into one updateTime, and move it to ExternalTable.
So that all kinds of external table can use this field.

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 Dec 26, 2025

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 morningman marked this pull request as draft December 26, 2025 05:04
@morningman
Copy link
Contributor Author

run feut

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 10.34% (6/58) 🎉
Increment coverage report
Complete coverage report

@morningman morningman force-pushed the refresh_update_time branch from e39a520 to e786c4b Compare January 5, 2026 02:55
@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17603	4182	4047	4047
q2	2049	355	312	312
q3	10061	1291	725	725
q4	10215	852	330	330
q5	7547	2101	1827	1827
q6	188	167	144	144
q7	956	793	667	667
q8	9277	1393	1222	1222
q9	4946	4601	4641	4601
q10	6785	1790	1428	1428
q11	534	314	271	271
q12	702	732	572	572
q13	17806	3795	3078	3078
q14	286	285	268	268
q15	596	500	504	500
q16	705	686	635	635
q17	680	765	559	559
q18	6688	6438	6776	6438
q19	1175	1095	649	649
q20	428	398	290	290
q21	3287	2590	2407	2407
q22	1132	1131	1030	1030
Total cold run time: 103646 ms
Total hot run time: 32000 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4374	4257	4260	4257
q2	312	425	322	322
q3	2293	2876	2438	2438
q4	1448	1857	1368	1368
q5	4547	4373	4320	4320
q6	220	169	141	141
q7	1978	1938	1811	1811
q8	2553	2392	2389	2389
q9	6986	7191	7158	7158
q10	2535	2667	2256	2256
q11	533	492	455	455
q12	702	728	610	610
q13	3524	3860	3133	3133
q14	264	275	253	253
q15	519	490	487	487
q16	612	651	597	597
q17	1095	1254	1336	1254
q18	7533	7348	7303	7303
q19	829	783	837	783
q20	1871	1945	1811	1811
q21	4660	4191	4159	4159
q22	1080	1057	987	987
Total cold run time: 50468 ms
Total hot run time: 48292 ms

@doris-robot
Copy link

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

query5	5053	589	466	466
query6	324	228	220	220
query7	4219	449	269	269
query8	332	246	231	231
query9	8779	2589	2609	2589
query10	563	367	314	314
query11	15356	15100	14813	14813
query12	188	115	116	115
query13	1255	523	378	378
query14	6436	3001	2749	2749
query14_1	2597	2631	2630	2630
query15	209	187	179	179
query16	1025	482	458	458
query17	1072	688	578	578
query18	2632	445	350	350
query19	230	223	200	200
query20	131	123	120	120
query21	222	137	120	120
query22	4005	4105	4174	4105
query23	16113	15693	15353	15353
query23_1	15550	15548	15505	15505
query24	7415	1554	1179	1179
query24_1	1199	1206	1179	1179
query25	575	480	424	424
query26	1247	274	165	165
query27	2736	454	284	284
query28	4519	2146	2132	2132
query29	819	549	449	449
query30	310	242	210	210
query31	798	632	561	561
query32	83	71	68	68
query33	560	343	291	291
query34	891	892	529	529
query35	781	791	759	759
query36	826	855	897	855
query37	127	90	73	73
query38	2772	2662	2716	2662
query39	781	754	714	714
query39_1	702	718	697	697
query40	215	136	112	112
query41	64	64	60	60
query42	104	101	110	101
query43	466	478	421	421
query44	1356	725	723	723
query45	187	181	175	175
query46	849	959	600	600
query47	1423	1382	1399	1382
query48	314	322	235	235
query49	611	412	321	321
query50	633	283	199	199
query51	3864	3920	3705	3705
query52	109	110	96	96
query53	292	326	271	271
query54	289	255	244	244
query55	77	76	72	72
query56	275	288	281	281
query57	1007	992	926	926
query58	271	252	250	250
query59	2106	2215	2174	2174
query60	322	331	332	331
query61	163	154	158	154
query62	405	344	312	312
query63	307	266	279	266
query64	4961	1321	972	972
query65	3793	3636	3727	3636
query66	1408	409	312	312
query67	15205	15100	15291	15100
query68	8367	999	708	708
query69	506	361	315	315
query70	1054	921	950	921
query71	361	302	273	273
query72	6074	3351	3480	3351
query73	742	713	302	302
query74	8909	8709	8642	8642
query75	2851	2804	2460	2460
query76	3935	1055	674	674
query77	589	382	279	279
query78	9696	9957	9130	9130
query79	1268	907	590	590
query80	608	586	481	481
query81	521	262	226	226
query82	221	146	117	117
query83	271	252	240	240
query84	257	118	102	102
query85	909	522	453	453
query86	382	327	316	316
query87	2855	2843	2758	2758
query88	3166	2206	2177	2177
query89	380	351	326	326
query90	2158	159	147	147
query91	170	164	141	141
query92	88	66	65	65
query93	1596	912	530	530
query94	565	318	294	294
query95	569	320	299	299
query96	588	459	214	214
query97	2348	2346	2252	2252
query98	212	213	198	198
query99	581	599	497	497
Total cold run time: 256106 ms
Total hot run time: 173032 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.05
query2	0.11	0.05	0.05
query3	0.26	0.09	0.09
query4	1.61	0.11	0.12
query5	0.28	0.25	0.27
query6	1.15	0.68	0.65
query7	0.03	0.03	0.03
query8	0.06	0.04	0.04
query9	0.56	0.50	0.50
query10	0.55	0.56	0.55
query11	0.15	0.10	0.10
query12	0.16	0.13	0.10
query13	0.61	0.59	0.58
query14	0.95	0.96	0.94
query15	0.80	0.78	0.77
query16	0.40	0.41	0.39
query17	1.05	1.02	1.01
query18	0.24	0.21	0.21
query19	1.91	1.93	1.89
query20	0.01	0.01	0.01
query21	15.46	0.26	0.14
query22	5.30	0.05	0.05
query23	15.72	0.28	0.10
query24	0.96	0.75	0.61
query25	0.10	0.12	0.05
query26	0.14	0.13	0.13
query27	0.07	0.07	0.06
query28	5.23	1.05	0.88
query29	12.58	3.99	3.22
query30	0.28	0.14	0.12
query31	2.86	0.67	0.40
query32	3.24	0.57	0.46
query33	3.00	2.97	3.05
query34	16.86	5.14	4.54
query35	4.46	4.46	4.47
query36	0.67	0.53	0.49
query37	0.11	0.07	0.06
query38	0.07	0.05	0.04
query39	0.04	0.03	0.03
query40	0.17	0.14	0.13
query41	0.09	0.03	0.02
query42	0.04	0.03	0.02
query43	0.05	0.04	0.04
Total cold run time: 98.45 s
Total hot run time: 27.34 s

@morningman
Copy link
Contributor Author

run buildall

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR consolidates the tracking of external table update times by merging the separate schemaUpdateTime and eventUpdateTime fields into a single updateTime field in the ExternalTable base class. This change ensures that SQL cache features can accurately track table modifications across all external table types.

Key Changes:

  • Unified time tracking by replacing two separate timestamp fields with a single updateTime field
  • Propagated updateTime parameter through all table modification operations (insert, truncate, schema changes, refresh)
  • Updated all metadata operation interfaces and implementations to accept and use updateTime

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
ExternalTable.java Merged schemaUpdateTime and eventUpdateTime into single updateTime field at base class level
HMSExternalTable.java Removed HMS-specific eventUpdateTime field and override of getUpdateTime() method
HMSExternalDatabase.java Updated to call setUpdateTime() instead of setEventUpdateTime()
ExternalMetadataOps.java Added updateTime parameter to all schema modification method signatures
IcebergMetadataOps.java Updated to propagate updateTime through all DDL operations and refresh calls
HiveMetadataOps.java Updated truncate operations to accept and use updateTime
IcebergExternalCatalog.java Added updateTime parameter to partition evolution operations
ExternalCatalog.java Captures and propagates updateTime for all schema change operations
HiveInsertExecutor.java Sets and logs updateTime after insert operations complete
ExecuteActionCommand.java Passes updateTime when logging table refresh operations
Alter.java Captures updateTime at start of external table alter operations
RefreshManager.java Updated refresh operations to set updateTime on tables and log updates with timestamps
CatalogMgr.java Updated partition add/drop operations to use setUpdateTime()
TruncateTableInfo.java Added updateTime field to persist truncate operation timestamp
ExternalObjectLog.java Added updateTime parameter to factory methods for refresh operations
CacheAnalyzer.java Fixed spelling error: "alread" → "already"
test_external_table_update_time.groovy New test validating update time changes after insert and truncate
iceberg_schema_change_ddl.groovy Added assertions verifying update time changes after schema modifications
iceberg_branch_tag_operate.groovy Added update time validation for branch/tag operations
HmsCatalogTest.java, HmsQueryCacheTest.java, RefreshTableTest.java Updated tests to use updateTime instead of separated time fields

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

// override this method if there is some other kinds of update time
// use getSchemaUpdateTime if just need the schema update time
@Override
// get the max value of `schemaUpdateTime` and `eventUpdateTime` as `updateTime`
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

The comment is now outdated. Since schemaUpdateTime and eventUpdateTime have been merged into a single updateTime field, this comment should be updated to simply describe that this method returns the table update time, which tracks when the table was last modified (e.g., by insert, alter, or refresh operations).

Suggested change
// get the max value of `schemaUpdateTime` and `eventUpdateTime` as `updateTime`
// Returns the table update time, tracking when the table was last modified
// (for example, by insert, alter, or refresh operations).

Copilot uses AI. Check for mistakes.
Comment on lines +40 to +58
sql "drop database if exists test_update_time_db force";
sql "create database test_update_time_db";
sql "use test_update_time_db";
sql "create table test_update_time_tbl(k1 int)"
sql "insert into test_update_time_tbl values(1)"
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time1 = result[0][0];
sleep(2000);
sql "insert into test_update_time_tbl values(2)"
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time2 = result[0][0];
logger.info("get update times " + update_time1 + " vs. " + update_time2)
assertTrue(update_time2 > update_time1);
sleep(2000);
sql "truncate table test_update_time_tbl";
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time3 = result[0][0];
logger.info("get update times " + update_time2 + " vs. " + update_time3)
assertTrue(update_time3 > update_time2);
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

The test does not clean up the database and catalog it creates. Consider adding cleanup code after the assertions to drop the test database and catalog to prevent test environment pollution.

Suggested change
sql "drop database if exists test_update_time_db force";
sql "create database test_update_time_db";
sql "use test_update_time_db";
sql "create table test_update_time_tbl(k1 int)"
sql "insert into test_update_time_tbl values(1)"
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time1 = result[0][0];
sleep(2000);
sql "insert into test_update_time_tbl values(2)"
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time2 = result[0][0];
logger.info("get update times " + update_time1 + " vs. " + update_time2)
assertTrue(update_time2 > update_time1);
sleep(2000);
sql "truncate table test_update_time_tbl";
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time3 = result[0][0];
logger.info("get update times " + update_time2 + " vs. " + update_time3)
assertTrue(update_time3 > update_time2);
try {
sql "drop database if exists test_update_time_db force";
sql "create database test_update_time_db";
sql "use test_update_time_db";
sql "create table test_update_time_tbl(k1 int)"
sql "insert into test_update_time_tbl values(1)"
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time1 = result[0][0];
sleep(2000);
sql "insert into test_update_time_tbl values(2)"
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time2 = result[0][0];
logger.info("get update times " + update_time1 + " vs. " + update_time2)
assertTrue(update_time2 > update_time1);
sleep(2000);
sql "truncate table test_update_time_tbl";
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time3 = result[0][0];
logger.info("get update times " + update_time2 + " vs. " + update_time3)
assertTrue(update_time3 > update_time2);
} finally {
// Cleanup test objects to avoid polluting the test environment
try {
sql "drop table if exists test_update_time_tbl";
} catch (Throwable t) {
logger.warn("Failed to drop table test_update_time_tbl during cleanup", t)
}
try {
sql "drop database if exists test_update_time_db force";
} catch (Throwable t) {
logger.warn("Failed to drop database test_update_time_db during cleanup", t)
}
try {
sql "switch internal";
sql """drop catalog if exists ${catalog_name};"""
} catch (Throwable t) {
logger.warn("Failed to drop catalog ${catalog_name} during cleanup", t)
}
}

Copilot uses AI. Check for mistakes.
sql "insert into test_update_time_tbl values(2)"
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_update_time_db" and TABLE_NAME="test_update_time_tbl""""
def update_time2 = result[0][0];
logger.info("get update times " + update_time1 + " vs. " + update_time2)
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

There is a trailing whitespace at the end of this line that should be removed.

Suggested change
logger.info("get update times " + update_time1 + " vs. " + update_time2)
logger.info("get update times " + update_time1 + " vs. " + update_time2)

Copilot uses AI. Check for mistakes.

sql """ alter table test_branch_tag_operate create branch b1 """
sql """ alter table test_branch_tag_operate create branch if not exists b1 """
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

There is a trailing whitespace at the end of this line that should be removed.

Suggested change
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""
def result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""

Copilot uses AI. Check for mistakes.
sql """ insert into test_branch_tag_operate values (4) """
sql """ insert into test_branch_tag_operate values (5) """

result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

There is a trailing whitespace at the end of this line that should be removed.

Copilot uses AI. Check for mistakes.
exception "Cannot set b8 to unknown snapshot: 11223344"
}
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

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

There is a trailing whitespace at the end of this line that should be removed.

Suggested change
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""
result = sql """select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test_db" and TABLE_NAME="test_branch_tag_operate""""

Copilot uses AI. Check for mistakes.
@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17647	4210	4059	4059
q2	2001	340	239	239
q3	10183	1238	719	719
q4	10196	821	320	320
q5	7531	2030	1902	1902
q6	194	167	140	140
q7	934	784	653	653
q8	9291	1356	1185	1185
q9	4845	4542	4436	4436
q10	6780	1775	1407	1407
q11	505	301	286	286
q12	730	749	585	585
q13	17774	3807	3090	3090
q14	291	292	270	270
q15	578	517	499	499
q16	659	677	645	645
q17	692	831	504	504
q18	6576	6346	6346	6346
q19	1171	955	591	591
q20	393	371	247	247
q21	3009	2422	2326	2326
q22	1002	1017	970	970
Total cold run time: 102982 ms
Total hot run time: 31419 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4076	4013	3989	3989
q2	321	385	316	316
q3	2059	2578	2207	2207
q4	1298	1715	1305	1305
q5	4051	3972	3968	3968
q6	219	173	129	129
q7	1849	1793	1624	1624
q8	2630	2455	2415	2415
q9	7340	7107	7147	7107
q10	2530	2667	2382	2382
q11	558	482	460	460
q12	725	772	605	605
q13	3652	4050	3317	3317
q14	274	296	294	294
q15	632	531	505	505
q16	630	679	623	623
q17	1132	1379	1351	1351
q18	7971	7979	7696	7696
q19	884	832	920	832
q20	1973	2050	1969	1969
q21	4853	4657	4189	4189
q22	1075	1052	1031	1031
Total cold run time: 50732 ms
Total hot run time: 48314 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 171473 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 2ae68e005899b28ac16400ef1f08cc02cc0c9160, data reload: false

query5	4659	578	436	436
query6	335	230	229	229
query7	4227	457	276	276
query8	347	258	247	247
query9	8789	2613	2613	2613
query10	506	374	317	317
query11	15201	15171	14767	14767
query12	175	120	114	114
query13	1268	509	408	408
query14	6362	2958	2692	2692
query14_1	2592	2562	2583	2562
query15	194	190	173	173
query16	989	463	447	447
query17	1098	649	545	545
query18	2562	429	334	334
query19	226	220	191	191
query20	130	117	121	117
query21	214	152	122	122
query22	3887	3889	3788	3788
query23	15837	15633	15298	15298
query23_1	15465	15366	15403	15366
query24	7323	1554	1171	1171
query24_1	1172	1159	1183	1159
query25	530	525	385	385
query26	1233	262	151	151
query27	2772	448	284	284
query28	4579	2112	2123	2112
query29	751	526	420	420
query30	306	246	219	219
query31	809	636	555	555
query32	82	66	67	66
query33	532	319	282	282
query34	890	868	524	524
query35	750	773	712	712
query36	864	866	798	798
query37	133	91	80	80
query38	2754	2658	2679	2658
query39	799	744	740	740
query39_1	716	698	696	696
query40	217	129	113	113
query41	66	61	60	60
query42	106	99	100	99
query43	469	465	431	431
query44	1306	725	730	725
query45	185	184	175	175
query46	849	943	590	590
query47	1313	1361	1368	1361
query48	305	321	235	235
query49	613	416	353	353
query50	653	275	201	201
query51	3926	3808	3729	3729
query52	106	106	98	98
query53	302	326	275	275
query54	290	260	244	244
query55	77	79	70	70
query56	298	279	293	279
query57	975	966	948	948
query58	262	245	261	245
query59	2172	2247	2189	2189
query60	317	310	286	286
query61	166	162	154	154
query62	395	342	331	331
query63	298	264	269	264
query64	4963	1316	1009	1009
query65	3835	3644	3737	3644
query66	1418	432	324	324
query67	14974	14575	14408	14408
query68	3019	1035	750	750
query69	506	366	320	320
query70	1018	975	982	975
query71	369	302	274	274
query72	5651	3539	3484	3484
query73	589	704	300	300
query74	8731	8797	8565	8565
query75	2824	2805	2414	2414
query76	3556	1041	639	639
query77	506	383	277	277
query78	9580	9903	9081	9081
query79	945	910	581	581
query80	618	574	462	462
query81	474	265	225	225
query82	209	147	110	110
query83	260	265	246	246
query84	254	110	103	103
query85	837	501	459	459
query86	308	323	321	321
query87	2827	2856	2805	2805
query88	3116	2220	2203	2203
query89	386	364	337	337
query90	2063	161	147	147
query91	191	198	160	160
query92	71	67	61	61
query93	923	900	538	538
query94	470	339	315	315
query95	595	389	321	321
query96	578	457	200	200
query97	2360	2389	2250	2250
query98	207	207	198	198
query99	571	576	518	518
Total cold run time: 246609 ms
Total hot run time: 171473 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.05
query2	0.10	0.04	0.04
query3	0.27	0.09	0.09
query4	1.60	0.12	0.11
query5	0.27	0.26	0.25
query6	1.14	0.65	0.65
query7	0.03	0.02	0.03
query8	0.06	0.04	0.04
query9	0.57	0.50	0.51
query10	0.56	0.56	0.55
query11	0.14	0.10	0.09
query12	0.14	0.12	0.11
query13	0.60	0.59	0.58
query14	0.96	0.95	0.93
query15	0.79	0.78	0.79
query16	0.39	0.42	0.39
query17	1.00	1.08	1.09
query18	0.24	0.21	0.22
query19	1.96	1.90	1.87
query20	0.02	0.01	0.01
query21	15.41	0.26	0.13
query22	5.15	0.06	0.05
query23	15.92	0.29	0.11
query24	1.47	0.27	0.56
query25	0.12	0.10	0.09
query26	0.14	0.13	0.13
query27	0.04	0.06	0.08
query28	5.30	1.04	0.88
query29	12.64	3.96	3.17
query30	0.27	0.13	0.12
query31	2.83	0.66	0.40
query32	3.22	0.57	0.46
query33	2.97	3.00	3.06
query34	16.92	5.11	4.48
query35	4.45	4.49	4.47
query36	0.64	0.50	0.49
query37	0.10	0.07	0.07
query38	0.08	0.04	0.04
query39	0.04	0.03	0.03
query40	0.17	0.15	0.13
query41	0.09	0.04	0.03
query42	0.05	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 98.95 s
Total hot run time: 27.01 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 2.78% (2/72) 🎉
Increment coverage report
Complete coverage report

@morningman
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 2.78% (2/72) 🎉
Increment coverage report
Complete coverage report

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2026

PR approved by anyone and no changes requested.

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jan 7, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

PR approved by at least one committer and no changes requested.

@morningman morningman merged commit 43cd66d into apache:master Jan 7, 2026
28 checks passed
morningman added a commit to morningman/doris that referenced this pull request Jan 8, 2026
…ations. (apache#59387)

We should update the external table's last update time after operations
like schema change, insert or refresh.
So the the SQL cache feature can get the right time to validate the
cache.

Also merge `schemaUpdateTime` and `eventUpdateTime` into one
`updateTime`, and move it to `ExternalTable`.
So that all kinds of external table can use this field.
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.

6 participants