Skip to content

[fix](fe) Resolve dropped Iceberg equality-delete keys after a schema ID is reused - #69536

Open
morningman wants to merge 2 commits into
apache:masterfrom
morningman:b2m-t35n-iceberg-eq-carrier-reused-schema-id
Open

morningman wants to merge 2 commits into
apache:masterfrom
morningman:b2m-t35n-iceberg-eq-carrier-reused-schema-id

Conversation

@morningman

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: None

Related PR: #66538, #69394

Problem Summary:

In short. This ports a fix from branch-4.1 #66538 (Iceberg V3 default values). When a dropped column is still referenced by a live equality delete, the Iceberg connector now looks up the column's definition along the scan snapshot's parent chain first, and only then in the whole schema list. Master searched only the part of the schema list before the scan schema. That breaks as soon as Iceberg reuses a schema ID, and every query on such a table failed.

Background. An equality delete names its key columns by field ID. If a key column has since been dropped, the scan schema no longer has it, so the connector adds the column's historical definition to the schema dictionary it sends to BE (IcebergScanPlanProvider.schemaForPotentialEqualityDeletes). BE needs that field ID, type and initial default to read the key from data files. Master (#65851) took the definition from the metadata schema list, searching backwards from the scan schema's position, on the assumption that the list is in chronological order.

The problem, and what it cost. Schema IDs are not a sequence. When a schema change produces a schema equal to an existing one, Iceberg reuses that schema's ID and does not append to the list. Dropping a column that was added after the table was created is the common case: the schema returns to the initial one, so the current schema is the first entry of the list, and the schema that still defines the key comes after it. The backward search never reaches that schema, and the scan fails.

Reproduce: create a table with id; add column k; write data and an equality delete keyed on k; drop k; query the table.

Master today After this PR
Query after dropping an equality-delete key, when the schema returns to an earlier one fails: Iceberg equality-delete fields are absent from schema history: [2] succeeds
Same, after the snapshots that recorded the key have expired fails with the same error succeeds (the key comes from the metadata schema list)
Time travel to a snapshot whose lineage defines the key, while a later schema renames it earlier definition earlier definition (unchanged)

How this PR fixes it. It uses the same order as IcebergScanNode.getSchemaFieldsForScan on branch-4.1 and branch-4.2. First, walk the scan snapshot's parent chain and take each missing key from the schema that snapshot was written with. Then search the whole metadata schema list, newest first, for keys that only schema-only changes or expired ancestors can explain. Unlike branch-4.x, the walk indexes each schema at most once and stops as soon as every key is resolved, so a long lineage that shares one schema costs only map lookups. When no key is missing, nothing changes and no snapshot is read, as before.

When a dropped key has several historical definitions, the one recorded on the scan's lineage now wins, as on branch-4.x. The field ID and the initial default are the same either way. Only a name or optionality changed by a schema-only commit after the last write can differ. The existing test equalityCarrierKeepsLatestDefinitionOfDroppedEqualityKey (from #69394) renamed and then dropped the key with no write in between. It now writes a snapshot after each schema change, as the branch-4.1 test it was ported from does, and still expects k2.

Results. This PR ports four tests from #66538 into IcebergScanPlanProviderTest:

  • equalityCarrierResolvesDroppedKeyWhenSchemaIdIsReused uses a real in-memory table and also checks the scan dictionary that getScanNodeProperties builds.
  • equalityCarrierResolvesReusedSchemaIdAfterParentSnapshotsExpire is the same, with the snapshots that recorded the key expired.
  • equalityCarrierPrefersScanLineageOverLaterRenameForTimeTravel and equalityCarrierKeepsDefaultWhenTimeTravelParentExpiredBeforeLaterRename use table doubles with schema histories that the SDK cannot build.

With master's search, the two reused-ID tests fail with the error above. Without the lineage walk, the time-travel test gets k2 instead of k. All 1693 tests of fe-connector-iceberg pass.

Original author: @hubgeter

Release note

Fix: queries on an Iceberg table failed with "equality-delete fields are absent from schema history" after a column used as an equality-delete key was dropped and the table schema returned to an earlier one.

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.
      Such queries no longer fail. When a dropped equality-delete key has several historical definitions, the one recorded on the scan snapshot's lineage wins, as on branch-4.x.
  • 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

… ID is reused

### What problem does this PR solve?

Issue Number: None

Related PR: apache#66538, apache#69394

Problem Summary: When an Iceberg table drops a column so that its schema
becomes equal to an earlier one, Iceberg reuses the earlier schema ID
instead of adding a new schema, and the metadata schema list keeps that
schema at its original, earlier position. The equality-delete schema
carrier in the Iceberg connector located the scan schema in that list by
ID and searched only the schemas listed before it. A live equality delete
keyed on the dropped column therefore could not find the schema that still
defines the key, and every scan of the table failed with "Iceberg
equality-delete fields are absent from schema history". This happens in
steady state, not only during an upgrade.

Reproduce: create a table with column id, add column k, write data and an
equality delete keyed on k, drop k (the schema returns to the initial one
and reuses its ID), then query the table.

branch-4.1 (apache#66538) searches the scan snapshot's parent chain first, so the
definition recorded on that lineage wins, and falls back to the whole
metadata list, newest first, for schema-only changes and expired
ancestors. This change ports that order to IcebergScanPlanProvider. Each
lineage schema is indexed at most once and the walk stops as soon as every
key is resolved. It also ports the branch-4.1 tests for a reused schema ID
(with and without an expired parent) and for time travel past a later
rename. The existing test
equalityCarrierKeepsLatestDefinitionOfDroppedEqualityKey (apache#69394)
renamed and then dropped the key with no write in between. It now writes
a snapshot after each schema change, as the branch-4.1 test it was ported
from does, and still expects k2.

### Release note

Fix Iceberg queries that failed with "equality-delete fields are absent
from schema history" after a column used as an equality-delete key was
dropped and the table schema returned to an earlier one.

### Check List (For Author)

- Test: Unit Test
    - fe-connector-iceberg: 4 new cases and 1 adjusted case in
      IcebergScanPlanProviderTest; the two reused-ID cases fail without
      the fix; the whole module passes
- Behavior changed: Yes. Such queries no longer fail. When a dropped key
  has several historical definitions, the carrier now prefers the one
  recorded on the scan snapshot's lineage, as branch-4.1 does.
- Does this need documentation: No

Co-authored-by: daidai <changyuwei@selectdb.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <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.

One P1 correctness regression is reported inline: resolving a dropped key solely from snapshot lineage can select a type older than a pending writer's schema, causing a widened equality-delete value to become NULL and match an unrelated NULL-key row. Changes are requested. No existing review threads or previously reported blockers were present.

Reviewed both changed files and the affected planning -> schema carrier -> scan-parameter -> native-reader flow at dc21748. Critical checkpoint conclusions:

  • Goal and proof: the real-table tests address schema-ID reuse and expired parents, including dictionary transport. The pending-writer promotion case in the inline finding remains incorrect and lacks coverage.
  • Scope and reuse: the change is focused on one lookup algorithm and its unit tests, reusing the existing historical-field merge helpers.
  • Concurrency: new collections are local and reads use statement-frozen table metadata; no new locks or worker threads. The finding concerns external writes committing after schema-only changes, which the snapshot schema does not fully describe.
  • Lifecycle: statement/table/FileIO ownership is unchanged. Null schema IDs and expired parents reach the schema-history fallback; SDK expiration retains schemas referenced by retained snapshots.
  • Configuration: no configuration changes.
  • Compatibility: no public SPI, storage-format or wire-format change. Existing backend-semantics fencing remains in use.
  • Thrift/protobuf IDs: no gensrc changes; branch field-ID comparison is inapplicable.
  • Parallel paths: production and testing callers pass the selected snapshot; normal, pinned/ref and streaming scans share the carrier. Both native reader generations were inspected; system-table handling is separate and unchanged.
  • Conditions and errors: repeated schema IDs are deduplicated, the no-missing-key path skips ancestry, and missing schemas/unresolved IDs fail loudly. Early completion after resolving an older type causes the reported defect.
  • Test coverage: four new JUnit tests and the amended rename/drop test were inspected alongside existing nested-key, default, reused-name and reader-promotion tests. Proxy histories establish local selection rules, not end-to-end reader results. No test directly covers the reported sequence or large missing-key ancestry.
  • Test results: no generated result files changed. No builds or tests were run under the static-only review contract; the author's reported test count was not independently validated.
  • Observability: existing error messages identify missing schema/equality IDs; no new logging or metrics requirement was substantiated for this local planning change.
  • Transactions and persistence: no Doris transaction, EditLog or replay changes. External snapshot commit semantics were checked against the pinned Iceberg SDK sources linked inline.
  • Writes and crash behavior: production changes only reconstruct read metadata; they introduce no writes, commit protocols or resource handles.
  • FE/BE variables: only a local Java Snapshot argument is added; dictionary fields and transport paths remain unchanged. Its historical type affects the existing BE comparison contract as described inline.
  • Performance: schema indexing is deduplicated and carrier size remains bounded by the current schema and relevant historical fields. Missing keys can require O(retained ancestry) lookups and REST refs-mode can load deferred snapshot history; no separate actionable performance regression was established or benchmarked.
  • Other concerns: nested field-ID merging, dropped/re-added names, stable initial defaults, schema-only updates, time travel, branches, expiry, and both reader generations were checked. No additional verified finding remains.

No additional user-provided focus was supplied. Review limits are static inspection only, unexecuted runtime tests, and unmeasured large-lineage/REST history cost. All identified candidates and risk focuses have explicit dispositions in the shared ledger. Final convergence is recorded separately by the submission helper after the unchanged-payload reviewer pass.

Review converged after 3 round(s).

throw new IllegalStateException(
"Iceberg snapshot schema " + schemaId + " is absent from table metadata");
}
addHistoricalEqualityFields(fields, missing, lineageSchema);

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.

[P1] Preserve promoted types when recovering a dropped equality key

Snapshot lineage can omit the type used by a pending writer. Start with optional k INT and an existing row where k IS NULL; promote k to LONG without a snapshot, prepare a LONG equality-delete file for k=2147483648, drop k, then commit the pending RowDelta. Use unpartitioned files without column metrics (including null counts and bounds). The SDK permits this: SnapshotProducer.apply() refreshes metadata and stamps the current schema, and BaseRowDelta does not reject the changed key schema. The delete snapshot therefore records the dropped schema while its parent still records INT.

This call resolves the ID from that INT ancestor and removes it from missing, so the retained schema-only LONG definition is never considered. V2 _resolve_equality_delete_fields takes the carrier's INT as its comparison type; _load_equality_delete_file then casts the LONG tombstone to INT. Overflow becomes NULL in non-strict mode, and NULL-safe equality incorrectly deletes the existing NULL-key row (strict mode fails the query). The previous metadata-history lookup selected LONG and preserved that row. Preserve the applicable promoted comparison type when choosing lineage definitions, and cover the promotion/drop/pending-delete sequence in tests.

### What problem does this PR solve?

Issue Number: None

Related PR: apache#66538

Problem Summary: Review follow-up. The previous commit resolves an
equality-delete key that the scan schema no longer has from the scan
snapshot's parent chain first. With Iceberg 1.12 a pending RowDelta is
stamped with the schema that is current when it commits, and nothing checks
its equality field IDs against that schema. So for a key k promoted from INT
to LONG by a schema-only change (no snapshot), a writer that wrote LONG
tombstones, and k dropped before that delete commits, the delete snapshot
records the schema without k and its parent the INT one: no snapshot on the
lineage records LONG. The carrier then said INT, FileScannerV2 compares
equality keys in the carrier's type, and a tombstone such as 2147483648 was
cast to NULL in non-strict mode and deleted every row whose k is NULL
(strict mode failed the query). The previous metadata-list lookup found
LONG.

A dropped key now keeps its lineage definition (name, optionality, initial
default) but takes the widest type its field ID has in any retained schema.
Field IDs are never reused and promotion is monotonic and lossless, so that
type covers every file written for the field, also when it comes from a
schema after a time-travel target.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - IcebergScanPlanProviderTest#equalityCarrierKeepsPromotedTypeOfKeyDroppedBeforeItsDeleteCommits replays the sequence with the SDK; it fails without the widening
    - fe-connector-iceberg module tests
- Behavior changed: No
- Does this need documentation: No

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

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

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17591	5176	5079	5079
q2	2140	311	264	264
q3	10215	1367	822	822
q4	4676	460	340	340
q5	7423	794	525	525
q6	183	184	153	153
q7	747	799	600	600
q8	9271	1361	1102	1102
q9	5562	4207	4180	4180
q10	6837	1290	1040	1040
q11	425	249	223	223
q12	639	429	282	282
q13	18096	3641	3002	3002
q14	278	277	251	251
q15	q16	723	729	676	676
q17	1193	751	601	601
q18	7018	6185	6149	6149
q19	1120	964	585	585
q20	400	343	233	233
q21	5435	2481	2462	2462
q22	377	342	272	272
Total cold run time: 100349 ms
Total hot run time: 28841 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5912	5931	6045	5931
q2	744	600	571	571
q3	5570	5605	5324	5324
q4	2009	2153	1593	1593
q5	5755	5676	5733	5676
q6	238	190	143	143
q7	2304	1962	1822	1822
q8	3006	2620	2619	2619
q9	7969	7968	7750	7750
q10	3661	3567	3117	3117
q11	576	427	377	377
q12	666	671	509	509
q13	3263	3599	3055	3055
q14	286	303	268	268
q15	q16	660	663	621	621
q17	7702	7049	6887	6887
q18	12965	12194	12912	12194
q19	893	767	768	767
q20	2153	2146	1914	1914
q21	5614	4612	4676	4612
q22	496	455	390	390
Total cold run time: 72442 ms
Total hot run time: 66140 ms

@hello-stephen

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

query5	4308	586	444	444
query6	422	209	183	183
query7	4803	438	226	226
query8	323	163	151	151
query9	8765	3041	3054	3041
query10	476	310	246	246
query11	5957	3859	3566	3566
query12	146	91	90	90
query13	1264	451	317	317
query14	6144	3902	3657	3657
query14_1	3412	3400	3435	3400
query15	209	201	192	192
query16	943	427	410	410
query17	867	655	538	538
query18	2422	425	327	327
query19	200	168	137	137
query20	87	84	84	84
query21	207	123	107	107
query22	12950	13041	12739	12739
query23	13550	12857	12525	12525
query23_1	12517	12575	12607	12575
query24	7390	832	464	464
query24_1	471	495	465	465
query25	538	426	359	359
query26	1270	254	144	144
query27	2756	438	271	271
query28	4617	1947	1919	1919
query29	1569	600	457	457
query30	298	221	185	185
query31	993	925	829	829
query32	142	93	94	93
query33	523	290	256	256
query34	894	845	493	493
query35	730	747	647	647
query36	816	823	737	737
query37	122	104	93	93
query38	1817	1727	1653	1653
query39	793	788	749	749
query39_1	734	729	738	729
query40	223	120	100	100
query41	72	70	67	67
query42	88	86	84	84
query43	345	369	310	310
query44	1295	699	684	684
query45	175	172	171	171
query46	823	980	573	573
query47	3022	2974	2956	2956
query48	290	318	215	215
query49	573	408	312	312
query50	686	267	205	205
query51	10658	10431	10185	10185
query52	78	76	74	74
query53	177	206	149	149
query54	230	208	171	171
query55	68	65	62	62
query56	221	206	203	203
query57	1682	1608	1591	1591
query58	284	266	259	259
query59	2089	2160	1949	1949
query60	289	243	218	218
query61	149	147	148	147
query62	393	335	306	306
query63	184	159	160	159
query64	2717	960	741	741
query65	3311	3278	3247	3247
query66	1787	420	305	305
query67	20300	20133	20190	20133
query68	2979	988	607	607
query69	385	291	248	248
query70	849	765	770	765
query71	296	228	211	211
query72	2746	2576	2281	2281
query73	511	528	291	291
query74	4647	4524	4317	4317
query75	2338	2281	1903	1903
query76	2314	1017	573	573
query77	334	375	273	273
query78	9748	9759	9197	9197
query79	933	897	523	523
query80	842	417	350	350
query81	583	322	271	271
query82	575	130	107	107
query83	283	192	181	181
query84	302	115	98	98
query85	974	421	386	386
query86	364	236	234	234
query87	2015	1966	1813	1813
query88	3629	2654	2629	2629
query89	337	283	242	242
query90	1706	167	165	165
query91	162	155	127	127
query92	91	88	85	85
query93	1002	995	580	580
query94	511	307	275	275
query95	563	330	354	330
query96	662	471	233	233
query97	2437	2449	2333	2333
query98	161	150	145	145
query99	765	768	659	659
Total cold run time: 234437 ms
Total hot run time: 150849 ms

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17593	5134	5049	5049
q2	2117	300	241	241
q3	10285	1369	793	793
q4	4674	458	330	330
q5	7430	788	529	529
q6	177	187	153	153
q7	753	794	591	591
q8	9255	1328	1013	1013
q9	5483	4374	4149	4149
q10	6822	1281	1024	1024
q11	425	247	228	228
q12	635	393	273	273
q13	18099	3521	2980	2980
q14	267	273	248	248
q15	q16	718	716	639	639
q17	1178	756	555	555
q18	6985	6150	6123	6123
q19	1132	952	587	587
q20	368	327	227	227
q21	4651	2132	2292	2132
q22	352	288	250	250
Total cold run time: 99399 ms
Total hot run time: 28114 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5610	5605	5605	5605
q2	689	564	536	536
q3	5197	5417	4922	4922
q4	2009	2139	1525	1525
q5	5263	5148	5400	5148
q6	261	199	160	160
q7	2328	2009	1837	1837
q8	3047	2706	2700	2700
q9	7963	7965	7793	7793
q10	3746	3694	3202	3202
q11	603	428	402	402
q12	731	794	545	545
q13	3586	3948	3212	3212
q14	300	313	289	289
q15	q16	701	732	652	652
q17	8292	7503	6893	6893
q18	13004	12196	12889	12196
q19	909	807	797	797
q20	2146	2153	1927	1927
q21	5641	4568	4669	4568
q22	497	467	400	400
Total cold run time: 72523 ms
Total hot run time: 65309 ms

@hello-stephen

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

query5	4308	585	445	445
query6	447	206	195	195
query7	4816	431	222	222
query8	328	160	148	148
query9	8758	3051	3085	3051
query10	440	312	261	261
query11	6060	3846	3560	3560
query12	156	90	86	86
query13	1258	444	349	349
query14	6068	3935	3636	3636
query14_1	3452	3435	3404	3404
query15	208	198	182	182
query16	937	437	412	412
query17	874	669	540	540
query18	2422	434	317	317
query19	202	167	138	138
query20	90	83	84	83
query21	212	125	111	111
query22	12978	12979	12808	12808
query23	13656	12822	12496	12496
query23_1	12609	12541	12609	12541
query24	7365	816	473	473
query24_1	471	470	475	470
query25	552	422	365	365
query26	1260	261	140	140
query27	2766	457	278	278
query28	5124	1932	1966	1932
query29	1576	625	472	472
query30	301	218	184	184
query31	1016	928	829	829
query32	137	122	91	91
query33	528	303	250	250
query34	905	849	496	496
query35	747	752	649	649
query36	802	807	711	711
query37	127	103	83	83
query38	1775	1732	1709	1709
query39	788	791	749	749
query39_1	737	736	740	736
query40	221	116	97	97
query41	71	69	70	69
query42	88	85	84	84
query43	351	369	314	314
query44	1301	679	675	675
query45	177	215	159	159
query46	837	960	552	552
query47	2973	2947	2752	2752
query48	291	303	216	216
query49	574	399	287	287
query50	680	262	206	206
query51	10437	10286	10265	10265
query52	76	79	77	77
query53	178	209	154	154
query54	237	192	169	169
query55	70	67	70	67
query56	213	225	219	219
query57	1662	1640	1553	1553
query58	283	268	257	257
query59	2172	2173	1984	1984
query60	274	247	233	233
query61	148	148	144	144
query62	386	328	279	279
query63	187	158	151	151
query64	2785	935	768	768
query65	3314	3286	3238	3238
query66	1783	413	301	301
query67	20233	19999	19743	19743
query68	2961	1008	602	602
query69	376	296	254	254
query70	863	775	776	775
query71	285	227	206	206
query72	2707	2827	2246	2246
query73	507	518	289	289
query74	4604	4501	4337	4337
query75	2311	2265	1903	1903
query76	2302	1015	598	598
query77	347	384	270	270
query78	9801	9830	9204	9204
query79	998	853	511	511
query80	701	422	354	354
query81	541	324	275	275
query82	573	133	111	111
query83	286	196	176	176
query84	306	124	99	99
query85	873	454	383	383
query86	345	238	228	228
query87	2030	1922	1815	1815
query88	3628	2687	2624	2624
query89	324	285	242	242
query90	1799	168	165	165
query91	159	154	134	134
query92	99	84	96	84
query93	986	997	570	570
query94	488	313	279	279
query95	555	343	368	343
query96	659	485	234	234
query97	2431	2423	2310	2310
query98	158	151	146	146
query99	773	766	660	660
Total cold run time: 234739 ms
Total hot run time: 150394 ms

@hello-stephen

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

query1	0.01	0.00	0.00
query2	0.09	0.04	0.05
query3	0.26	0.08	0.09
query4	1.60	0.10	0.09
query5	0.26	0.24	0.27
query6	1.17	0.69	0.68
query7	0.04	0.01	0.00
query8	0.05	0.03	0.03
query9	0.40	0.35	0.35
query10	0.61	0.57	0.59
query11	0.21	0.14	0.13
query12	0.18	0.15	0.15
query13	0.49	0.49	0.51
query14	1.05	1.01	1.02
query15	0.63	0.60	0.63
query16	0.35	0.35	0.36
query17	1.18	1.17	1.16
query18	0.21	0.19	0.18
query19	2.08	1.98	2.03
query20	0.02	0.02	0.01
query21	15.50	0.20	0.13
query22	4.76	0.05	0.05
query23	16.24	0.34	0.12
query24	2.95	0.49	0.42
query25	0.08	0.06	0.06
query26	1.10	0.22	0.16
query27	0.05	0.04	0.04
query28	3.67	0.85	0.36
query29	12.54	4.15	3.23
query30	0.28	0.13	0.11
query31	2.78	0.57	0.32
query32	3.22	0.60	0.49
query33	3.19	3.18	3.21
query34	15.41	3.98	3.40
query35	3.34	3.35	3.33
query36	0.53	0.46	0.40
query37	0.10	0.06	0.07
query38	0.05	0.04	0.04
query39	0.03	0.03	0.03
query40	0.16	0.14	0.14
query41	0.09	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.03	0.03
Total cold run time: 97.04 s
Total hot run time: 24.3 s

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.

2 participants