Skip to content

[refactor](storage) derive row binlog in the transform chain; delete RowBinlogSegmentWriter - #66883

Open
csun5285 wants to merge 2 commits into
apache:masterfrom
csun5285:refactor/row-binlog-derive-stage
Open

[refactor](storage) derive row binlog in the transform chain; delete RowBinlogSegmentWriter#66883
csun5285 wants to merge 2 commits into
apache:masterfrom
csun5285:refactor/row-binlog-derive-stage

Conversation

@csun5285

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Related PR: #66774 (stack PR 5/6), #66609 (4/6), #66528 (3/6), #66151 (2/6), #65492 (1/6)

Last PR of the block-transform-chain refactor stack, and the one that pays it off: with the binlog derivation in the chain, no segment writer derives or fills anything any more -- both writers are pure storage-format sinks.

RowBinlogDeriveStage : rebuilds the load block into a full-width block over the binlog schema -- key +
AFTER values, optional __BEFORE__* values, and the TSO / LSN / op columns

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

variant_assembler.cpp and variant_storage_cell.cpp each keep an identical
publish_encoded() in an anonymous namespace. The unity build merges both files
into one translation unit, where the two anonymous namespaces become one, so
the pair only compiles while the files land in different unity batches --
adding or removing any source file in be/src/storage/ can shift them together
and break the build.

Co-Authored-By: Claude Fable 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?

@csun5285

Copy link
Copy Markdown
Contributor Author

/review

@csun5285

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.

Review opinion: no blocking issues found; approval from the code-review perspective.

Critical checkpoint conclusions:

  • Goal and proof: The PR cleanly moves direct row-binlog derivation into the block-transform chain and leaves the ordinary horizontal/vertical segment writers as sinks. The new derive tests cover Plain and MoW behavior, partial updates, BEFORE/AFTER images, sequence/delete handling, hidden/complex/nullable columns, source-tablet selection, and negative invariants. Storage-format tests cover both writers; all six added vertical segment files are byte-identical to their legacy horizontal counterparts.
  • Scope: The change is focused on this ownership transfer. Deleted writer code and tests are replaced by the transform implementation/tests; no stale production or build references remain. The Variant helper rename only resolves an anonymous-namespace unity-build collision.
  • Concurrency: Concurrent memtable/group flushes allocate distinct atomic segment ids. The shared LSN map is mutex-protected, lock scope is limited to lookup/erase, and the derive retains shared ownership after erase. I found no nested-lock ordering or deadlock issue.
  • Lifecycle/static initialization: Each direct flush owns one converter/retriever/read plan; the converter outlives the retriever accessors and all historical values are materialized before rowset pins are released. Failed attempts do not reuse consumed segment state. No cross-TU static initialization or reference cycle was introduced.
  • Configuration: No configuration item was added. The existing vertical-writer flag now reaches row-binlog segments through the common writer path; no dynamic-config propagation contract changed.
  • Compatibility/storage format: Supported schema construction, replica creation/recovery, edit-log replay, local/cloud metadata, and rolling upgrades keep need_historical_value, write_before, and the row-binlog schema paired. The deleted NULL-fill compatibility branch only tolerated an unsupported divergent metadata state. Existing horizontal golden formats remain stable and the new vertical output matches them byte-for-byte; no FE/BE protocol or persistent metadata format changed.
  • Parallel and conditional paths: Direct Plain/MoW selection matches the legacy predicates. Fixed partial updates, full upserts, transient publish rewrites, local/cloud builders, and non-direct compaction/schema-change/snapshot inputs were traced. Non-direct paths already supply final binlog-shaped blocks; the common vertical writer has no row-binlog-specific branch at this seam.
  • Tests and results: The changed unit/golden suite has strong positive and negative coverage, and the checked-in manifest/results are internally consistent. A dedicated non-direct + vertical row-binlog golden would add matrix coverage, but no distinct failure mechanism was found. Per the review-only bundle, I did not build or run tests locally. Current completed CI checks for style, clang format, license, dependency review, title, secrets, and large files pass; macOS BE UT is still pending at review time.
  • Observability/error handling: New transform failures propagate through the flush/publish status path, and schema/source-context errors include tablet context. Invariants fail loudly rather than allowing a malformed mixed-width block to continue. This refactor does not introduce a new operational state that requires metrics or routine INFO logging.
  • Transactions/persistence/data writes: No EditLog or persistent metadata write changed. Version-scoped MoW lookup, publish-time row/LSN permutation, child segment alignment, rollback, and visibility semantics are preserved. A data/binlog child failure aborts the owning load or publish attempt; retries reconstruct fresh writer state, so I found no partial-visibility or same-segment retry defect.
  • Variables/protocol plumbing: No new FE-to-BE variable or RPC field was added, so there are no additional sending/replay paths to update.
  • Performance: Plain and all non-direct paths retain one conversion. MoW derives probe keys before the common writer converts them for persistence, but this is bounded adapter work within the established transform/writer contract and there is no evidence of a material regression. Historical lookup remains single-pass, and heavy work occurs outside the short LSN-map lock.
  • Other issues: No additional correctness, memory-safety, nullability, compatibility, lifecycle, performance, or coverage defect was substantiated.

User focus: no additional focus points were supplied; the full PR was reviewed.

Convergence: two full review rounds completed. In Round 2, three normal reviewers and a separate residual-risk reviewer all returned NO_NEW_VALUABLE_FINDINGS; there are zero inline findings.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17556	3145	3132	3132
q2	q3	10875	856	518	518
q4	4678	257	207	207
q5	7668	598	412	412
q6	143	120	98	98
q7	533	526	400	400
q8	9276	916	968	916
q9	3516	2443	2431	2431
q10	6535	868	720	720
q11	454	264	247	247
q12	686	403	337	337
q13	17863	1565	1166	1166
q14	162	149	143	143
q15	q16	493	401	380	380
q17	863	854	821	821
q18	3107	2339	2268	2268
q19	1122	806	762	762
q20	708	561	462	462
q21	5368	1896	1896	1896
q22	341	279	236	236
Total cold run time: 91947 ms
Total hot run time: 17552 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	3510	3429	3426	3426
q2	q3	2237	2414	2180	2180
q4	1227	1201	913	913
q5	2250	2201	2186	2186
q6	173	125	94	94
q7	1084	960	903	903
q8	1646	1466	1452	1452
q9	3213	3185	3173	3173
q10	1878	1827	1650	1650
q11	386	285	268	268
q12	457	439	353	353
q13	1530	1569	1179	1179
q14	178	185	160	160
q15	q16	413	403	372	372
q17	1061	1058	1046	1046
q18	5038	4467	4830	4467
q19	880	861	842	842
q20	967	961	806	806
q21	3980	3221	3325	3221
q22	404	340	312	312
Total cold run time: 32512 ms
Total hot run time: 29003 ms

@hello-stephen

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

query5	4257	433	347	347
query6	413	166	158	158
query7	4839	440	273	273
query8	294	135	125	125
query9	8690	3014	3043	3014
query10	396	279	225	225
query11	5389	1066	944	944
query12	144	73	73	73
query13	1192	423	320	320
query14	6110	2262	2160	2160
query14_1	2038	2033	2014	2014
query15	176	122	110	110
query16	960	387	364	364
query17	779	446	350	350
query18	2324	330	242	242
query19	167	143	118	118
query20	74	74	74	74
query21	217	119	101	101
query22	5346	5319	5279	5279
query23	6648	6346	6150	6150
query23_1	6220	6205	6296	6205
query24	7322	1117	791	791
query24_1	794	800	800	800
query25	460	326	240	240
query26	1257	262	169	169
query27	2725	450	284	284
query28	4623	1545	1508	1508
query29	922	434	375	375
query30	286	174	155	155
query31	841	417	360	360
query32	99	51	47	47
query33	446	211	172	172
query34	997	833	508	508
query35	423	413	343	343
query36	568	556	552	552
query37	129	82	72	72
query38	1010	858	827	827
query39	503	505	499	499
query39_1	462	477	465	465
query40	223	124	114	114
query41	54	53	51	51
query42	82	79	81	79
query43	252	257	216	216
query44	
query45	117	103	98	98
query46	751	841	552	552
query47	770	767	732	732
query48	301	316	215	215
query49	545	255	194	194
query50	832	346	271	271
query51	8098	7956	8204	7956
query52	78	72	75	72
query53	221	216	208	208
query54	258	179	171	171
query55	83	61	57	57
query56	223	241	215	215
query57	699	678	681	678
query58	255	206	201	201
query59	1254	1230	1137	1137
query60	287	255	210	210
query61	153	150	133	133
query62	381	233	177	177
query63	194	159	158	158
query64	2891	820	704	704
query65	
query66	1906	322	276	276
query67	10277	9927	9984	9927
query68	
query69	392	222	201	201
query70	655	637	642	637
query71	303	248	242	242
query72	2436	1837	1793	1793
query73	673	590	354	354
query74	1899	1270	1219	1219
query75	1274	1187	1071	1071
query76	2342	738	572	572
query77	272	262	215	215
query78	3929	3709	3267	3267
query79	3142	783	583	583
query80	1582	398	371	371
query81	505	201	178	178
query82	700	129	105	105
query83	319	257	241	241
query84	
query85	872	456	386	386
query86	483	184	185	184
query87	1023	1010	913	913
query88	4421	2166	2199	2166
query89	299	228	211	211
query90	2168	156	156	156
query91	162	142	122	122
query92	76	46	43	43
query93	2927	1246	772	772
query94	682	279	282	279
query95	635	418	363	363
query96	843	591	287	287
query97	1041	1065	1011	1011
query98	182	131	134	131
query99	461	368	321	321
Total cold run time: 177852 ms
Total hot run time: 82268 ms

…RowBinlogSegmentWriter

Last PR of the block-transform-chain stack. RowBinlogDeriveStage rebuilds the
load block into a full-width block over the binlog schema -- key + AFTER
values, optional __BEFORE__* values, and the TSO/LSN/op columns -- so the
ordinary segment writers write it like any other block. build_transform_chain
picks PlainRowBinlogDerive (no history probe) or MowRowBinlogDerive (partial
update and/or BEFORE image) per flush, and keeps an empty chain for every
non-direct write type, whose rows are already binlog shaped.

RowBinlogSegmentWriter is deleted, and with it the dead
VerticalRowBinlogRowsetWriter template, the retriever's clear() bridge and
SegmentWriter::build_key_index's protected visibility. SegmentFlusher no
longer special-cases binlog when it picks a writer.

Three later fixes to the deleted writer are carried into the stage, since
deleting the file would drop them silently:
- apache#66046: the op revision from the old delete sign runs between the BEFORE
  fill and the op column fill, the order the writer used.
- apache#65810: the cloud-mode rejection is gone, and the historical lookup uses
  source.base_tablet. The writer fell back to its own tablet when that was
  unset; the stage requires it instead, because on a binlog write the writer
  context's tablet is the binlog tablet, which holds no source rows. Every
  site that fills source.tablet_schema fills source.base_tablet too.
- apache#66553: AFTER value columns are wrapped nullable before they land in the
  binlog block, which declares them nullable.

Behavior change to ack: binlog segments are written by the ordinary segment
writer, which is the vertical one under the default
enable_vertical_segment_writer=true; the deleted writer was always horizontal.
The derived rows are identical -- the plain, MoW and BEFORE binlog goldens
recorded through the vertical writer are byte-identical to the baselines
recorded from the legacy writer -- but the writer type and the physical page
layout are visible to operational tooling.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@csun5285
csun5285 force-pushed the refactor/row-binlog-derive-stage branch from f1df78e to 5771ed0 Compare August 18, 2026 11:31
@csun5285

Copy link
Copy Markdown
Contributor Author

run buildall

1 similar comment
@csun5285

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17720	3132	3123	3123
q2	1978	247	156	156
q3	10356	886	527	527
q4	4677	253	210	210
q5	7666	590	390	390
q6	147	120	98	98
q7	526	526	395	395
q8	9246	948	950	948
q9	3550	2440	2416	2416
q10	6519	855	692	692
q11	447	257	260	257
q12	687	393	341	341
q13	17867	1544	1171	1171
q14	164	152	141	141
q15	q16	443	404	377	377
q17	832	878	775	775
q18	3156	2291	2293	2291
q19	1111	901	786	786
q20	656	539	454	454
q21	5402	1841	2034	1841
q22	324	274	233	233
Total cold run time: 93474 ms
Total hot run time: 17622 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3529	3460	3391	3391
q2	228	221	162	162
q3	2353	2346	2226	2226
q4	1214	1193	912	912
q5	2217	2168	2140	2140
q6	174	122	91	91
q7	1045	912	861	861
q8	1638	1447	1444	1444
q9	3190	3162	3161	3161
q10	1926	1815	1657	1657
q11	369	283	263	263
q12	465	433	348	348
q13	1507	1553	1189	1189
q14	174	190	169	169
q15	q16	396	397	362	362
q17	1072	1057	1049	1049
q18	4998	4444	4817	4444
q19	875	878	851	851
q20	991	955	842	842
q21	3926	3249	3355	3249
q22	487	344	329	329
Total cold run time: 32774 ms
Total hot run time: 29140 ms

@hello-stephen

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

query5	4281	442	359	359
query6	427	173	167	167
query7	4807	463	287	287
query8	298	135	120	120
query9	8691	2953	2940	2940
query10	435	266	228	228
query11	5400	1066	963	963
query12	127	74	72	72
query13	1207	478	324	324
query14	6166	2333	2189	2189
query14_1	2095	2075	2083	2075
query15	181	123	112	112
query16	943	387	379	379
query17	828	473	381	381
query18	2347	339	249	249
query19	170	148	119	119
query20	73	72	74	72
query21	222	123	107	107
query22	5637	5450	5464	5450
query23	6933	6306	6163	6163
query23_1	6210	5996	6250	5996
query24	7272	1127	810	810
query24_1	760	792	784	784
query25	423	292	246	246
query26	1249	272	166	166
query27	2722	467	285	285
query28	4590	1515	1512	1512
query29	933	453	345	345
query30	279	167	154	154
query31	857	436	356	356
query32	105	49	48	48
query33	456	217	174	174
query34	1007	832	502	502
query35	428	394	335	335
query36	561	565	523	523
query37	129	82	78	78
query38	1012	887	843	843
query39	502	488	489	488
query39_1	479	462	486	462
query40	227	129	111	111
query41	53	52	51	51
query42	82	80	80	80
query43	248	249	218	218
query44	1033	572	565	565
query45	118	108	101	101
query46	809	840	544	544
query47	773	777	769	769
query48	315	315	234	234
query49	529	246	205	205
query50	861	345	275	275
query51	8176	8331	8242	8242
query52	84	77	68	68
query53	215	221	167	167
query54	258	183	171	171
query55	80	61	65	61
query56	237	262	245	245
query57	694	681	660	660
query58	240	212	206	206
query59	1305	1250	1133	1133
query60	259	244	221	221
query61	157	140	139	139
query62	381	213	177	177
query63	189	163	163	163
query64	2852	831	642	642
query65	1641	1598	1577	1577
query66	1810	295	244	244
query67	10148	9774	9757	9757
query68	2786	1267	841	841
query69	358	234	203	203
query70	695	619	617	617
query71	305	268	244	244
query72	2363	1788	1612	1612
query73	673	587	358	358
query74	1723	1276	1162	1162
query75	1258	1175	1024	1024
query76	2301	780	596	596
query77	265	276	224	224
query78	3903	3935	3316	3316
query79	2210	835	564	564
query80	1420	401	344	344
query81	490	203	181	181
query82	633	141	105	105
query83	344	249	241	241
query84	318	123	105	105
query85	875	459	397	397
query86	404	180	173	173
query87	1040	999	893	893
query88	2826	2158	2126	2126
query89	331	225	206	206
query90	1998	144	157	144
query91	158	145	124	124
query92	55	48	46	46
query93	1493	1141	811	811
query94	667	258	225	225
query95	627	370	420	370
query96	830	582	276	276
query97	1059	1016	1020	1016
query98	149	135	137	135
query99	429	355	313	313
Total cold run time: 179361 ms
Total hot run time: 85139 ms

@hello-stephen

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

query1	0.01	0.01	0.01
query2	0.08	0.04	0.03
query3	0.25	0.10	0.11
query4	1.60	0.11	0.10
query5	0.18	0.16	0.16
query6	1.23	0.72	0.67
query7	0.03	0.01	0.01
query8	0.05	0.03	0.03
query9	0.28	0.22	0.22
query10	0.33	0.34	0.34
query11	0.16	0.11	0.12
query12	0.15	0.12	0.12
query13	0.32	0.31	0.32
query14	0.47	0.46	0.45
query15	0.36	0.34	0.35
query16	0.21	0.22	0.24
query17	0.74	0.71	0.72
query18	0.19	0.17	0.16
query19	1.27	1.23	1.09
query20	0.01	0.01	0.02
query21	15.44	0.17	0.12
query22	5.05	0.04	0.04
query23	16.20	0.25	0.10
query24	2.96	0.34	0.25
query25	0.10	0.05	0.05
query26	0.75	0.18	0.12
query27	0.03	0.03	0.03
query28	3.68	0.56	0.27
query29	12.44	3.16	2.60
query30	0.26	0.11	0.12
query31	2.75	0.36	0.18
query32	3.52	0.32	0.24
query33	1.38	1.43	1.43
query34	15.34	2.18	1.79
query35	1.76	1.74	1.72
query36	0.46	0.30	0.27
query37	0.06	0.04	0.04
query38	0.04	0.03	0.02
query39	0.04	0.03	0.02
query40	0.11	0.08	0.07
query41	0.08	0.02	0.03
query42	0.04	0.02	0.03
query43	0.03	0.03	0.03
Total cold run time: 90.44 s
Total hot run time: 14.73 s

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17926	3069	3051	3051
q2	2218	231	160	160
q3	10519	887	520	520
q4	4718	253	210	210
q5	7697	623	404	404
q6	142	119	95	95
q7	537	509	390	390
q8	9327	864	955	864
q9	3901	2437	2406	2406
q10	6608	870	720	720
q11	758	254	233	233
q12	986	397	341	341
q13	18050	1567	1161	1161
q14	162	150	149	149
q15	q16	446	395	372	372
q17	855	885	811	811
q18	3201	2305	2269	2269
q19	1287	936	830	830
q20	683	497	449	449
q21	5347	1778	1942	1778
q22	334	265	231	231
Total cold run time: 95702 ms
Total hot run time: 17444 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3446	3396	3368	3368
q2	218	223	160	160
q3	2219	2368	2178	2178
q4	1217	1183	915	915
q5	2199	2157	2129	2129
q6	173	120	88	88
q7	1042	910	850	850
q8	1625	1431	1428	1428
q9	3187	3144	3126	3126
q10	1871	1817	1675	1675
q11	362	274	261	261
q12	476	436	338	338
q13	1503	1542	1161	1161
q14	179	175	165	165
q15	q16	393	399	362	362
q17	1061	1041	1027	1027
q18	5059	4441	4893	4441
q19	1073	858	833	833
q20	1016	987	828	828
q21	3553	2990	3202	2990
q22	392	329	314	314
Total cold run time: 32264 ms
Total hot run time: 28637 ms

@hello-stephen

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

query5	4231	434	345	345
query6	423	167	148	148
query7	4845	442	265	265
query8	292	135	118	118
query9	8667	2940	2959	2940
query10	401	260	226	226
query11	5393	1059	940	940
query12	122	72	79	72
query13	1220	458	304	304
query14	6002	2256	2110	2110
query14_1	2026	2015	1992	1992
query15	179	119	113	113
query16	3231	393	369	369
query17	855	466	366	366
query18	2108	334	250	250
query19	178	149	120	120
query20	71	73	71	71
query21	648	120	103	103
query22	5683	5330	5334	5330
query23	6855	6172	6070	6070
query23_1	6248	6067	6104	6067
query24	7280	1115	788	788
query24_1	777	790	804	790
query25	455	311	266	266
query26	1214	279	178	178
query27	2660	450	286	286
query28	4594	1515	1508	1508
query29	943	471	364	364
query30	275	179	157	157
query31	842	431	363	363
query32	106	85	49	49
query33	467	227	184	184
query34	1000	882	587	587
query35	427	427	359	359
query36	578	556	544	544
query37	121	81	70	70
query38	1095	869	849	849
query39	528	500	497	497
query39_1	488	469	487	469
query40	242	129	120	120
query41	58	62	55	55
query42	82	76	79	76
query43	249	259	222	222
query44	1056	565	571	565
query45	111	111	101	101
query46	812	870	539	539
query47	785	768	709	709
query48	322	314	233	233
query49	543	248	194	194
query50	790	331	311	311
query51	8246	8182	8218	8182
query52	71	78	69	69
query53	203	215	159	159
query54	249	179	179	179
query55	85	62	57	57
query56	236	230	213	213
query57	647	673	663	663
query58	228	196	196	196
query59	1197	1230	1087	1087
query60	284	203	191	191
query61	126	115	130	115
query62	378	221	185	185
query63	194	161	155	155
query64	2394	692	663	663
query65	1688	1630	1564	1564
query66	1704	301	264	264
query67	10217	9994	9894	9894
query68	2928	1228	806	806
query69	371	238	194	194
query70	665	618	609	609
query71	309	282	235	235
query72	2562	1727	1548	1548
query73	664	588	356	356
query74	1997	1251	1140	1140
query75	1202	1167	1034	1034
query76	1935	752	545	545
query77	262	260	221	221
query78	4043	3871	3188	3188
query79	2208	871	599	599
query80	1525	418	388	388
query81	508	206	178	178
query82	845	141	106	106
query83	335	261	282	261
query84	311	125	103	103
query85	842	436	382	382
query86	501	174	175	174
query87	1000	1013	885	885
query88	2827	2153	2146	2146
query89	322	232	205	205
query90	2003	153	149	149
query91	157	141	122	122
query92	55	47	45	45
query93	1509	1164	724	724
query94	747	261	225	225
query95	634	435	329	329
query96	867	607	294	294
query97	1051	1066	993	993
query98	152	136	134	134
query99	441	356	313	313
Total cold run time: 186823 ms
Total hot run time: 84391 ms

@hello-stephen

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

query1	0.00	0.00	0.01
query2	0.14	0.04	0.04
query3	0.47	0.12	0.11
query4	1.77	0.10	0.10
query5	0.17	0.17	0.16
query6	1.47	0.71	0.68
query7	0.03	0.01	0.00
query8	0.04	0.03	0.03
query9	0.49	0.22	0.21
query10	0.35	0.35	0.35
query11	0.24	0.11	0.12
query12	0.17	0.12	0.12
query13	0.31	0.30	0.30
query14	0.46	0.45	0.46
query15	0.40	0.35	0.35
query16	0.22	0.21	0.25
query17	0.65	0.63	0.73
query18	0.18	0.17	0.17
query19	1.50	1.26	1.19
query20	0.01	0.01	0.01
query21	16.36	0.15	0.12
query22	4.75	0.04	0.04
query23	16.80	0.26	0.10
query24	12.04	0.33	0.25
query25	0.09	0.05	0.04
query26	0.73	0.17	0.12
query27	0.03	0.04	0.04
query28	3.64	0.62	0.26
query29	12.67	3.17	2.55
query30	0.25	0.12	0.13
query31	2.83	0.35	0.17
query32	3.67	0.32	0.24
query33	1.38	1.38	1.60
query34	15.37	2.21	1.81
query35	1.80	1.72	1.72
query36	0.46	0.31	0.28
query37	0.05	0.04	0.04
query38	0.05	0.03	0.02
query39	0.03	0.02	0.03
query40	0.12	0.08	0.08
query41	0.07	0.03	0.02
query42	0.21	0.02	0.03
query43	0.04	0.03	0.03
Total cold run time: 102.51 s
Total hot run time: 14.69 s

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (2/2) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 65.07% (29305/45035)
Line Coverage 49.92% (316010/633073)
Region Coverage 45.89% (260066/566727)
Branch Coverage 46.98% (119677/254718)

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.

2 participants