Skip to content

[refactor](be)simplify interface in schema and rowcursor#63925

Merged
yiguolei merged 1 commit into
apache:masterfrom
yiguolei:f13
Jun 1, 2026
Merged

[refactor](be)simplify interface in schema and rowcursor#63925
yiguolei merged 1 commit into
apache:masterfrom
yiguolei:f13

Conversation

@yiguolei
Copy link
Copy Markdown
Contributor

@yiguolei yiguolei commented Jun 1, 2026

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

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

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

@yiguolei
Copy link
Copy Markdown
Contributor Author

yiguolei commented Jun 1, 2026

run buildall

@hello-stephen
Copy link
Copy Markdown
Contributor

/review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

OpenCode automated review failed and did not complete.

Error: Error: Token refresh failed: 401
Workflow run: https://github.com/apache/doris/actions/runs/26731572187

Please inspect the workflow logs and rerun the review after the underlying issue is resolved.

@hello-stephen
Copy link
Copy Markdown
Contributor

TPC-H: Total hot run time: 31806 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit cbad669da34a0f4a3ecd6fb14c5ab16cbd2b5ae2, 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	17644	4113	4064	4064
q2	q3	10784	1403	840	840
q4	4685	481	353	353
q5	7632	2341	2173	2173
q6	249	179	140	140
q7	978	791	661	661
q8	9368	1674	1519	1519
q9	5116	5014	5044	5014
q10	6384	2218	1888	1888
q11	445	286	253	253
q12	686	432	309	309
q13	18154	3545	2753	2753
q14	269	252	241	241
q15	q16	829	770	712	712
q17	1008	991	1018	991
q18	7094	5799	5705	5705
q19	1179	1325	1042	1042
q20	518	404	271	271
q21	5711	2658	2566	2566
q22	446	365	311	311
Total cold run time: 99179 ms
Total hot run time: 31806 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	4343	4250	4302	4250
q2	q3	4548	4993	4374	4374
q4	2320	2233	1427	1427
q5	4453	4351	4644	4351
q6	273	211	157	157
q7	2145	1991	1683	1683
q8	2524	2269	2234	2234
q9	8468	7928	8078	7928
q10	4943	4804	4362	4362
q11	569	430	402	402
q12	773	757	551	551
q13	3330	3714	2956	2956
q14	292	312	269	269
q15	q16	715	757	655	655
q17	1367	1589	1363	1363
q18	7877	7365	7338	7338
q19	1120	1098	1123	1098
q20	2219	2226	1958	1958
q21	5328	4605	4499	4499
q22	516	467	410	410
Total cold run time: 58123 ms
Total hot run time: 52265 ms

@hello-stephen
Copy link
Copy Markdown
Contributor

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

query5	4308	688	531	531
query6	333	234	216	216
query7	4245	577	311	311
query8	331	237	218	218
query9	8785	4128	4106	4106
query10	461	359	301	301
query11	5825	2393	2204	2204
query12	183	137	130	130
query13	1269	619	416	416
query14	6109	5453	5208	5208
query14_1	4472	4504	4483	4483
query15	213	203	183	183
query16	962	443	466	443
query17	978	751	609	609
query18	2443	494	357	357
query19	223	208	179	179
query20	136	136	132	132
query21	218	146	121	121
query22	13816	13570	13406	13406
query23	17477	16612	16208	16208
query23_1	16421	16290	16228	16228
query24	7642	1874	1362	1362
query24_1	1355	1360	1365	1360
query25	625	502	425	425
query26	1324	365	180	180
query27	2664	576	362	362
query28	4499	2074	2075	2074
query29	1016	671	524	524
query30	317	253	204	204
query31	1126	1081	959	959
query32	91	80	78	78
query33	529	367	303	303
query34	1176	1185	663	663
query35	812	805	702	702
query36	1375	1381	1204	1204
query37	156	110	93	93
query38	3228	3199	3083	3083
query39	957	937	918	918
query39_1	883	887	878	878
query40	241	151	131	131
query41	70	66	64	64
query42	119	115	113	113
query43	340	343	302	302
query44	
query45	207	205	197	197
query46	1078	1264	748	748
query47	2325	2338	2236	2236
query48	389	403	307	307
query49	639	506	405	405
query50	1067	377	257	257
query51	4473	4380	4297	4297
query52	109	111	100	100
query53	262	290	216	216
query54	318	284	275	275
query55	96	96	96	96
query56	302	311	304	304
query57	1456	1416	1345	1345
query58	320	284	282	282
query59	1612	1712	1457	1457
query60	331	333	323	323
query61	168	158	156	156
query62	698	657	575	575
query63	250	211	219	211
query64	2426	801	656	656
query65	
query66	1756	512	379	379
query67	29960	29671	29669	29669
query68	
query69	484	351	321	321
query70	1054	1055	1007	1007
query71	332	277	284	277
query72	3111	2768	2382	2382
query73	884	781	471	471
query74	5121	5014	4751	4751
query75	2792	2621	2277	2277
query76	2332	1265	824	824
query77	421	419	340	340
query78	12405	12356	11955	11955
query79	1355	1070	783	783
query80	622	569	462	462
query81	463	281	244	244
query82	238	165	126	126
query83	364	285	256	256
query84	308	138	111	111
query85	916	542	463	463
query86	404	351	355	351
query87	3403	3385	3252	3252
query88	3695	2758	2747	2747
query89	444	398	350	350
query90	2138	190	191	190
query91	189	170	163	163
query92	90	81	75	75
query93	1451	1494	843	843
query94	522	358	336	336
query95	695	491	354	354
query96	1043	801	353	353
query97	2726	2747	2629	2629
query98	241	231	240	231
query99	1158	1145	1034	1034
Total cold run time: 254356 ms
Total hot run time: 172014 ms

@hello-stephen
Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 28.57% (2/7) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 54.04% (21027/38913)
Line Coverage 37.57% (199211/530267)
Region Coverage 33.85% (156070/461022)
Branch Coverage 34.82% (67877/194911)

@hello-stephen
Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (7/7) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.79% (28115/38102)
Line Coverage 57.79% (305628/528887)
Region Coverage 54.93% (255659/465443)
Branch Coverage 56.40% (110355/195657)

@yiguolei
Copy link
Copy Markdown
Contributor Author

yiguolei commented Jun 1, 2026

/review

Copy link
Copy Markdown
Contributor

@csun5285 csun5285 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Reviewed the actual GitHub PR diff (storage Schema/RowCursor constructor cleanup and associated test updates). I did not find blocking correctness issues in the changed files.

Critical checkpoint conclusions:

  • Goal/test proof: the change removes unused Schema/RowCursor construction APIs and updates callers/tests to use explicit column-id vectors or field vectors; the modified tests cover the affected RowCursor/Schema use sites.
  • Scope/focus: the actual PR diff is focused on BE storage schema/cursor API cleanup and related unit test updates.
  • Concurrency/lifecycle: no new concurrency or shared rowset/tablet lifecycle behavior is introduced.
  • Configuration/compatibility: no config, wire format, storage format, or FE/BE protocol compatibility changes are introduced by the actual PR diff.
  • Parallel paths: the production seek-key path and affected test helper paths were updated consistently for the removed constructors.
  • Special conditions: ROW_STORE_COL handling is preserved in the full-schema test helpers that replace the removed TabletSchema constructor usage.
  • Test coverage/results: relevant BE tests were updated; I did not run them in this review environment.
  • Observability/transactions/data writes: no new observability, transaction, persistence, or data-write behavior is introduced.
  • Performance: removing the shared Schema reuse in TabletReader creates per-key Schema construction as before via RowCursor init; no obvious hot-path correctness issue was identified, though benchmark impact was not measured.

User focus response: no additional user-provided review focus was supplied.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

PR approved by anyone and no changes requested.

@yiguolei yiguolei merged commit d7f9fa5 into apache:master Jun 1, 2026
32 of 33 checks passed
zhaorongsheng pushed a commit to zhaorongsheng/doris that referenced this pull request Jun 4, 2026
### What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [ ] 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 <!-- Add your reason?  -->

- Behavior changed:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->

### Check List (For Reviewer who merge this PR)

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants