You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "HappenLee (via GitHub)" <gi...@apache.org> on 2026/03/03 10:00:07 UTC

[PR] test [doris]

HappenLee opened a new pull request, #60989:
URL: https://github.com/apache/doris/pull/60989

   ### 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: https://github.com/apache/doris-website/pull/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 -->
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-3989928743

   
   Thank you for your contribution to Apache Doris.
   Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/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?
       


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4038859791

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 27766 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit b96b27619888e6ee3afe46b133b21dbdde8f65a8, data reload: false
   
   ------ Round 1 ----------------------------------
   ============================================
   q1	17622	4535	4329	4329
   q2	q3	10653	794	515	515
   q4	4681	370	258	258
   q5	7560	1201	1015	1015
   q6	176	180	147	147
   q7	794	840	677	677
   q8	9282	1426	1293	1293
   q9	4877	4796	4749	4749
   q10	6258	1900	1680	1680
   q11	459	256	252	252
   q12	702	568	471	471
   q13	18054	2953	2205	2205
   q14	226	236	224	224
   q15	946	807	811	807
   q16	733	725	680	680
   q17	728	857	424	424
   q18	6053	5345	5261	5261
   q19	1235	995	617	617
   q20	509	497	389	389
   q21	4758	2305	1482	1482
   q22	405	349	291	291
   Total cold run time: 96711 ms
   Total hot run time: 27766 ms
   
   ----- Round 2, with runtime_filter_mode=off -----
   ============================================
   q1	4702	4540	4483	4483
   q2	q3	3874	4334	3860	3860
   q4	896	1202	788	788
   q5	4136	4412	4327	4327
   q6	183	176	177	176
   q7	1789	1658	1517	1517
   q8	2484	2743	2764	2743
   q9	7449	7383	7753	7383
   q10	3829	4009	3656	3656
   q11	501	447	438	438
   q12	514	600	459	459
   q13	2877	3110	2345	2345
   q14	277	299	279	279
   q15	851	816	798	798
   q16	688	767	706	706
   q17	1152	1486	1338	1338
   q18	7180	6928	6717	6717
   q19	881	1013	865	865
   q20	2067	2154	2026	2026
   q21	4026	3499	3504	3499
   q22	453	423	379	379
   Total cold run time: 50809 ms
   Total hot run time: 48782 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4044028248

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 27593 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit bfc859e471b57c3ba4c7e4017e338d2686194a32, data reload: false
   
   ------ Round 1 ----------------------------------
   ============================================
   q1	17598	4519	4283	4283
   q2	q3	10645	865	513	513
   q4	4679	371	253	253
   q5	7547	1203	1029	1029
   q6	177	178	146	146
   q7	800	854	684	684
   q8	9753	1479	1312	1312
   q9	5250	4774	4544	4544
   q10	6321	1934	1687	1687
   q11	471	248	236	236
   q12	740	570	463	463
   q13	18046	2945	2199	2199
   q14	230	234	214	214
   q15	939	789	799	789
   q16	750	717	695	695
   q17	719	841	454	454
   q18	5992	5385	5333	5333
   q19	1631	994	592	592
   q20	487	485	388	388
   q21	4662	1999	1501	1501
   q22	400	322	278	278
   Total cold run time: 97837 ms
   Total hot run time: 27593 ms
   
   ----- Round 2, with runtime_filter_mode=off -----
   ============================================
   q1	4775	4589	4552	4552
   q2	q3	3845	4365	3836	3836
   q4	858	1204	788	788
   q5	4060	4416	4347	4347
   q6	184	170	138	138
   q7	1775	1655	1562	1562
   q8	2468	2875	2589	2589
   q9	7450	7492	7354	7354
   q10	3834	4002	3714	3714
   q11	532	438	418	418
   q12	515	575	438	438
   q13	2709	3172	2461	2461
   q14	285	292	276	276
   q15	875	827	813	813
   q16	714	773	749	749
   q17	1195	1537	1340	1340
   q18	7135	6794	6737	6737
   q19	908	862	866	862
   q20	2112	2174	2096	2096
   q21	3956	3422	3325	3325
   q22	452	417	380	380
   Total cold run time: 50637 ms
   Total hot run time: 48775 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4044059235

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 153140 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit bfc859e471b57c3ba4c7e4017e338d2686194a32, data reload: false
   
   query5	4316	639	507	507
   query6	334	223	200	200
   query7	4204	474	275	275
   query8	341	256	232	232
   query9	8732	2726	2703	2703
   query10	506	409	343	343
   query11	7360	5823	5541	5541
   query12	186	136	139	136
   query13	1270	455	370	370
   query14	5724	3727	3533	3533
   query14_1	2818	2772	2804	2772
   query15	209	191	174	174
   query16	1000	469	481	469
   query17	893	746	626	626
   query18	2446	460	352	352
   query19	210	219	184	184
   query20	137	129	134	129
   query21	255	141	122	122
   query22	4925	5196	4987	4987
   query23	16089	15574	15354	15354
   query23_1	15465	16241	15919	15919
   query24	7462	1706	1330	1330
   query24_1	1267	1258	1291	1258
   query25	659	498	425	425
   query26	1400	280	166	166
   query27	2977	496	296	296
   query28	4979	2011	1909	1909
   query29	903	599	519	519
   query30	325	273	227	227
   query31	1382	1267	1232	1232
   query32	87	69	71	69
   query33	542	319	278	278
   query34	917	916	549	549
   query35	635	671	583	583
   query36	1111	1154	1020	1020
   query37	137	91	79	79
   query38	2951	2895	2906	2895
   query39	922	874	839	839
   query39_1	813	814	820	814
   query40	225	149	139	139
   query41	63	58	56	56
   query42	304	305	305	305
   query43	247	264	227	227
   query44	
   query45	202	188	188	188
   query46	889	984	597	597
   query47	2141	2159	2084	2084
   query48	310	303	230	230
   query49	619	447	365	365
   query50	689	275	207	207
   query51	4110	4087	4022	4022
   query52	286	290	278	278
   query53	287	333	278	278
   query54	294	266	257	257
   query55	90	90	78	78
   query56	320	322	295	295
   query57	1393	1342	1324	1324
   query58	283	282	282	282
   query59	1379	1441	1294	1294
   query60	382	327	315	315
   query61	152	143	147	143
   query62	625	601	533	533
   query63	316	278	272	272
   query64	5181	1308	1032	1032
   query65	
   query66	1462	475	352	352
   query67	16435	16309	16390	16309
   query68	
   query69	393	303	279	279
   query70	931	990	948	948
   query71	334	320	291	291
   query72	2770	2690	2598	2598
   query73	539	547	324	324
   query74	10043	9926	9752	9752
   query75	2899	2785	2476	2476
   query76	2299	1018	668	668
   query77	379	386	319	319
   query78	11125	11443	10676	10676
   query79	1142	784	610	610
   query80	725	653	567	567
   query81	502	277	253	253
   query82	1361	156	122	122
   query83	379	270	260	260
   query84	304	122	104	104
   query85	951	615	438	438
   query86	370	297	325	297
   query87	3149	3102	2959	2959
   query88	3520	2610	2646	2610
   query89	423	373	337	337
   query90	1952	180	176	176
   query91	170	157	143	143
   query92	78	78	69	69
   query93	914	826	497	497
   query94	441	327	312	312
   query95	583	344	315	315
   query96	641	503	228	228
   query97	2518	2531	2433	2433
   query98	231	219	221	219
   query99	1023	1018	920	920
   Total cold run time: 233019 ms
   Total hot run time: 153140 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4004748378

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 27707 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit 0ed3685f1cf4fdf6860cf5001ce088b0c4156d6e, data reload: false
   
   ------ Round 1 ----------------------------------
   ============================================
   q1	17654	4480	4286	4286
   q2	q3	10654	813	522	522
   q4	4682	357	250	250
   q5	7550	1189	991	991
   q6	169	177	146	146
   q7	773	837	683	683
   q8	9287	1446	1322	1322
   q9	4910	4760	4771	4760
   q10	6300	1910	1679	1679
   q11	480	271	246	246
   q12	745	571	462	462
   q13	18052	2937	2225	2225
   q14	237	230	223	223
   q15	935	806	811	806
   q16	751	732	674	674
   q17	692	871	433	433
   q18	5912	5456	5153	5153
   q19	1121	984	584	584
   q20	497	504	387	387
   q21	4631	2101	1551	1551
   q22	351	357	324	324
   Total cold run time: 96383 ms
   Total hot run time: 27707 ms
   
   ----- Round 2, with runtime_filter_mode=off -----
   ============================================
   q1	4638	4520	4606	4520
   q2	q3	3972	4352	3778	3778
   q4	880	1170	762	762
   q5	4021	4393	4306	4306
   q6	175	177	139	139
   q7	1742	1645	1524	1524
   q8	2508	2703	2565	2565
   q9	7507	7478	7477	7477
   q10	3754	3977	3589	3589
   q11	501	449	411	411
   q12	479	599	437	437
   q13	2680	3314	2268	2268
   q14	281	290	267	267
   q15	832	824	823	823
   q16	717	784	725	725
   q17	1116	1436	1349	1349
   q18	7277	6812	6930	6812
   q19	876	852	847	847
   q20	2113	2170	2041	2041
   q21	3898	3482	3312	3312
   q22	474	423	389	389
   Total cold run time: 50441 ms
   Total hot run time: 48341 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "HappenLee (via GitHub)" <gi...@apache.org>.
HappenLee commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4043849872

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4045325041

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


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "HappenLee (via GitHub)" <gi...@apache.org>.
HappenLee commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4004514001

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4004802168

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 153218 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit 0ed3685f1cf4fdf6860cf5001ce088b0c4156d6e, data reload: false
   
   query5	4320	655	512	512
   query6	324	221	208	208
   query7	4210	464	269	269
   query8	335	246	227	227
   query9	8733	2756	2754	2754
   query10	508	382	350	350
   query11	7315	5862	5574	5574
   query12	182	128	123	123
   query13	1260	487	357	357
   query14	5714	3819	3593	3593
   query14_1	2855	2815	2814	2814
   query15	197	194	175	175
   query16	986	494	464	464
   query17	1112	702	620	620
   query18	2443	447	348	348
   query19	226	211	179	179
   query20	132	130	131	130
   query21	222	137	130	130
   query22	4779	5088	4848	4848
   query23	17008	15763	15749	15749
   query23_1	16191	15794	16072	15794
   query24	7396	1687	1276	1276
   query24_1	1276	1258	1295	1258
   query25	625	525	470	470
   query26	1286	261	157	157
   query27	2796	490	298	298
   query28	4498	1883	1900	1883
   query29	833	563	481	481
   query30	311	243	202	202
   query31	1374	1274	1244	1244
   query32	85	70	75	70
   query33	515	340	271	271
   query34	924	913	569	569
   query35	640	682	601	601
   query36	1093	1124	943	943
   query37	137	101	81	81
   query38	2947	2919	2876	2876
   query39	923	868	855	855
   query39_1	820	822	828	822
   query40	231	150	131	131
   query41	62	60	62	60
   query42	296	306	307	306
   query43	252	242	227	227
   query44	
   query45	202	195	183	183
   query46	875	982	635	635
   query47	2137	2160	2082	2082
   query48	314	318	224	224
   query49	629	470	384	384
   query50	681	278	209	209
   query51	4098	4102	4079	4079
   query52	285	294	282	282
   query53	287	338	286	286
   query54	302	275	266	266
   query55	91	88	86	86
   query56	317	305	311	305
   query57	1361	1327	1271	1271
   query58	290	284	273	273
   query59	1340	1445	1291	1291
   query60	338	336	322	322
   query61	154	147	147	147
   query62	641	587	533	533
   query63	309	281	274	274
   query64	4978	1289	966	966
   query65	
   query66	1447	455	352	352
   query67	16301	16348	16457	16348
   query68	
   query69	382	313	289	289
   query70	1003	901	943	901
   query71	342	324	302	302
   query72	2800	2684	2402	2402
   query73	542	558	334	334
   query74	9939	9956	9776	9776
   query75	2828	2780	2456	2456
   query76	2289	1027	671	671
   query77	364	378	317	317
   query78	11220	11306	10701	10701
   query79	2627	787	628	628
   query80	1714	625	537	537
   query81	557	278	244	244
   query82	972	154	116	116
   query83	334	282	244	244
   query84	245	116	101	101
   query85	913	480	432	432
   query86	413	297	289	289
   query87	3108	3102	3018	3018
   query88	3622	2683	2663	2663
   query89	422	367	342	342
   query90	2025	183	175	175
   query91	167	159	132	132
   query92	77	78	66	66
   query93	1181	855	515	515
   query94	638	312	299	299
   query95	589	401	311	311
   query96	649	512	227	227
   query97	2485	2538	2395	2395
   query98	234	215	218	215
   query99	1015	999	912	912
   Total cold run time: 237301 ms
   Total hot run time: 153218 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4028640996

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 27438 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit b7dedd09e9ddd3241033b4bb7930508eeae89a72, data reload: false
   
   ------ Round 1 ----------------------------------
   ============================================
   q1	17680	4473	4289	4289
   q2	q3	10644	797	512	512
   q4	4673	358	253	253
   q5	7545	1207	998	998
   q6	173	173	145	145
   q7	767	829	663	663
   q8	9756	1454	1328	1328
   q9	4897	4751	4681	4681
   q10	6313	1914	1659	1659
   q11	472	269	241	241
   q12	727	576	478	478
   q13	18059	2898	2161	2161
   q14	239	234	217	217
   q15	934	801	819	801
   q16	761	727	655	655
   q17	700	857	419	419
   q18	5891	5466	5204	5204
   q19	1228	978	594	594
   q20	494	515	399	399
   q21	4510	2141	1481	1481
   q22	379	328	260	260
   Total cold run time: 96842 ms
   Total hot run time: 27438 ms
   
   ----- Round 2, with runtime_filter_mode=off -----
   ============================================
   q1	4651	4629	4587	4587
   q2	q3	3875	4347	3910	3910
   q4	884	1219	782	782
   q5	4106	4362	4318	4318
   q6	186	175	139	139
   q7	1782	1625	1545	1545
   q8	2498	2691	2521	2521
   q9	7657	7645	7523	7523
   q10	3806	4025	3632	3632
   q11	508	433	422	422
   q12	512	601	454	454
   q13	2762	3329	2398	2398
   q14	289	346	282	282
   q15	857	816	801	801
   q16	732	775	718	718
   q17	1139	1526	1363	1363
   q18	7212	6819	6686	6686
   q19	1087	879	885	879
   q20	2044	2142	2030	2030
   q21	3949	3510	3385	3385
   q22	469	424	387	387
   Total cold run time: 51005 ms
   Total hot run time: 48762 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "zclllyybb (via GitHub)" <gi...@apache.org>.
zclllyybb merged PR #60989:
URL: https://github.com/apache/doris/pull/60989


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4045325309

   PR approved by anyone and no changes requested.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4028676583

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 153631 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit b7dedd09e9ddd3241033b4bb7930508eeae89a72, data reload: false
   
   query5	4370	643	530	530
   query6	332	231	214	214
   query7	4210	463	260	260
   query8	332	243	224	224
   query9	8728	2711	2713	2711
   query10	510	384	354	354
   query11	7423	5865	5570	5570
   query12	188	132	128	128
   query13	1267	454	354	354
   query14	5798	3843	3633	3633
   query14_1	2878	2858	2852	2852
   query15	205	202	191	191
   query16	1005	473	509	473
   query17	1119	739	653	653
   query18	2466	433	339	339
   query19	209	202	177	177
   query20	134	131	128	128
   query21	222	142	124	124
   query22	4809	5077	4688	4688
   query23	16642	16091	15753	15753
   query23_1	15840	15955	15808	15808
   query24	8016	1657	1276	1276
   query24_1	1249	1295	1271	1271
   query25	615	490	480	480
   query26	1476	319	175	175
   query27	2722	498	291	291
   query28	4514	1848	1828	1828
   query29	886	556	485	485
   query30	316	244	211	211
   query31	1351	1282	1219	1219
   query32	83	71	75	71
   query33	513	338	296	296
   query34	943	906	544	544
   query35	628	680	608	608
   query36	1092	1164	999	999
   query37	134	96	84	84
   query38	2963	2948	2856	2856
   query39	897	924	859	859
   query39_1	840	817	824	817
   query40	235	159	137	137
   query41	65	59	57	57
   query42	297	302	299	299
   query43	255	245	222	222
   query44	
   query45	196	190	191	190
   query46	889	982	604	604
   query47	2108	2107	2043	2043
   query48	328	313	226	226
   query49	625	463	387	387
   query50	684	273	218	218
   query51	4145	4100	4054	4054
   query52	288	298	290	290
   query53	290	341	289	289
   query54	305	287	273	273
   query55	94	86	83	83
   query56	317	333	325	325
   query57	1348	1322	1311	1311
   query58	313	285	282	282
   query59	1367	1443	1251	1251
   query60	366	347	343	343
   query61	151	150	155	150
   query62	641	585	547	547
   query63	308	284	286	284
   query64	5109	1279	1021	1021
   query65	
   query66	1459	464	352	352
   query67	16304	16404	16271	16271
   query68	
   query69	390	310	301	301
   query70	1016	988	932	932
   query71	351	322	304	304
   query72	2816	2792	2582	2582
   query73	544	559	321	321
   query74	9939	9976	9786	9786
   query75	2879	2782	2487	2487
   query76	2314	1066	697	697
   query77	379	409	331	331
   query78	11243	11534	10692	10692
   query79	1151	810	595	595
   query80	1584	660	618	618
   query81	577	286	251	251
   query82	1158	155	122	122
   query83	350	284	261	261
   query84	259	133	113	113
   query85	1297	556	446	446
   query86	435	309	305	305
   query87	3152	3129	2993	2993
   query88	3535	2650	2636	2636
   query89	437	374	355	355
   query90	1891	208	187	187
   query91	177	163	142	142
   query92	87	76	74	74
   query93	1068	835	498	498
   query94	659	325	303	303
   query95	595	414	326	326
   query96	657	533	227	227
   query97	2479	2533	2426	2426
   query98	239	220	221	220
   query99	985	1016	902	902
   Total cold run time: 236129 ms
   Total hot run time: 153631 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #60989:
URL: https://github.com/apache/doris/pull/60989#discussion_r2877340664


##########
be/src/pipeline/query_cache/query_cache.h:
##########
@@ -109,27 +109,76 @@ class QueryCache : public LRUCachePolicy {
     static Status build_cache_key(const std::vector<TScanRangeParams>& scan_ranges,
                                   const TQueryCacheParam& cache_param, std::string* cache_key,
                                   int64_t* version) {
-        if (scan_ranges.size() > 1) {
-            return Status::InternalError(
-                    "CacheSourceOperator only support one scan range, plan error");
+        if (scan_ranges.empty()) {
+            return Status::InternalError("scan_ranges is empty, plan error");
         }
-        auto& scan_range = scan_ranges[0];
-        DCHECK(scan_range.scan_range.__isset.palo_scan_range);
-        auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
-
-        std::from_chars(scan_range.scan_range.palo_scan_range.version.data(),
-                        scan_range.scan_range.palo_scan_range.version.data() +
-                                scan_range.scan_range.palo_scan_range.version.size(),
-                        *version);
-
-        auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
-        if (find_tablet == cache_param.tablet_to_range.end()) {
-            return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+
+        std::string digest;
+        try {
+            digest = cache_param.digest;
+        } catch (const std::exception&) {
+            return Status::InternalError("digest is invalid, plan error");
+        }
+        if (digest.empty()) {
+            return Status::InternalError("digest is empty, plan error");
+        }
+
+        if (cache_param.tablet_to_range.empty()) {
+            return Status::InternalError("tablet_to_range is empty, plan error");
+        }
+
+        std::vector<int64_t> tablet_ids;
+        tablet_ids.reserve(scan_ranges.size());
+        for (const auto& scan_range : scan_ranges) {
+            auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
+            tablet_ids.push_back(tablet_id);
+        }
+        std::sort(tablet_ids.begin(), tablet_ids.end());
+

Review Comment:
   `QueryCache::build_cache_key` now uses `std::sort` / `std::find_if` (and `std::from_chars`) in this header, but the header doesn't include `<algorithm>` (and should also explicitly include `<charconv>` if not guaranteed elsewhere). Depending on include order this can break compilation; please add the required standard headers here.



##########
be/src/pipeline/exec/cache_source_operator.cpp:
##########
@@ -60,8 +57,20 @@ Status CacheSourceLocalState::init(RuntimeState* state, LocalStateInfo& info) {
 
     // 2. build cache key by digest_tablet_id
     RETURN_IF_ERROR(QueryCache::build_cache_key(scan_ranges, cache_param, &_cache_key, &_version));
-    custom_profile()->add_info_string(
-            "CacheTabletId", std::to_string(scan_ranges[0].scan_range.palo_scan_range.tablet_id));
+    std::vector<int64_t> cache_tablet_ids;
+    cache_tablet_ids.reserve(scan_ranges.size());
+    for (const auto& scan_range : scan_ranges) {
+        cache_tablet_ids.push_back(scan_range.scan_range.palo_scan_range.tablet_id);
+    }
+    std::sort(cache_tablet_ids.begin(), cache_tablet_ids.end());
+    std::string tablet_ids_str;
+    for (size_t i = 0; i < cache_tablet_ids.size(); ++i) {
+        tablet_ids_str += std::to_string(cache_tablet_ids[i]);
+        if (i < cache_tablet_ids.size() - 1) {
+            tablet_ids_str += ",";
+        }
+    }
+    custom_profile()->add_info_string("CacheTabletId", tablet_ids_str);

Review Comment:
   `CacheTabletId` profile entry now contains a comma-separated list of multiple tablet ids. Consider renaming the profile key to something plural (e.g. `CacheTabletIds`) to avoid confusion when debugging profiles.
   ```suggestion
       custom_profile()->add_info_string("CacheTabletIds", tablet_ids_str);
   ```



##########
be/test/pipeline/exec/query_cache_test.cpp:
##########
@@ -40,9 +40,24 @@ TEST_F(QueryCacheTest, create_global_cache) {
 TEST_F(QueryCacheTest, build_cache_key) {
     {
         std::vector<TScanRangeParams> scan_ranges;
-        scan_ranges.push_back({});
-        scan_ranges.push_back({});
+        TScanRangeParams scan_range1;
+        TPaloScanRange palp_scan_range1;
+        palp_scan_range1.__set_tablet_id(1);
+        palp_scan_range1.__set_version("100");

Review Comment:
   The variable name `palp_scan_range*` looks like a typo (should likely be `palo_scan_range*` to match the Thrift type `TPaloScanRange`). Renaming would improve readability and avoid confusion in future test edits.



##########
be/src/pipeline/query_cache/query_cache.h:
##########
@@ -109,27 +109,76 @@ class QueryCache : public LRUCachePolicy {
     static Status build_cache_key(const std::vector<TScanRangeParams>& scan_ranges,
                                   const TQueryCacheParam& cache_param, std::string* cache_key,
                                   int64_t* version) {
-        if (scan_ranges.size() > 1) {
-            return Status::InternalError(
-                    "CacheSourceOperator only support one scan range, plan error");
+        if (scan_ranges.empty()) {
+            return Status::InternalError("scan_ranges is empty, plan error");
         }
-        auto& scan_range = scan_ranges[0];
-        DCHECK(scan_range.scan_range.__isset.palo_scan_range);
-        auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
-
-        std::from_chars(scan_range.scan_range.palo_scan_range.version.data(),
-                        scan_range.scan_range.palo_scan_range.version.data() +
-                                scan_range.scan_range.palo_scan_range.version.size(),
-                        *version);
-
-        auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
-        if (find_tablet == cache_param.tablet_to_range.end()) {
-            return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+
+        std::string digest;
+        try {
+            digest = cache_param.digest;
+        } catch (const std::exception&) {
+            return Status::InternalError("digest is invalid, plan error");
+        }
+        if (digest.empty()) {
+            return Status::InternalError("digest is empty, plan error");
+        }
+
+        if (cache_param.tablet_to_range.empty()) {
+            return Status::InternalError("tablet_to_range is empty, plan error");
+        }
+
+        std::vector<int64_t> tablet_ids;
+        tablet_ids.reserve(scan_ranges.size());
+        for (const auto& scan_range : scan_ranges) {
+            auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
+            tablet_ids.push_back(tablet_id);
+        }
+        std::sort(tablet_ids.begin(), tablet_ids.end());
+
+        int64_t first_version = -1;
+        std::string first_tablet_range;
+        for (size_t i = 0; i < tablet_ids.size(); ++i) {
+            auto tablet_id = tablet_ids[i];
+
+            auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
+            if (find_tablet == cache_param.tablet_to_range.end()) {
+                return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+            }
+
+            auto scan_range_iter =
+                    std::find_if(scan_ranges.begin(), scan_ranges.end(),
+                                 [&tablet_id](const TScanRangeParams& range) {
+                                     return range.scan_range.palo_scan_range.tablet_id == tablet_id;
+                                 });
+            int64_t current_version = -1;
+            std::from_chars(scan_range_iter->scan_range.palo_scan_range.version.data(),
+                            scan_range_iter->scan_range.palo_scan_range.version.data() +
+                                    scan_range_iter->scan_range.palo_scan_range.version.size(),
+                            current_version);

Review Comment:
   `std::from_chars(...)` parse result is ignored. If `version` is empty/non-numeric/partially-numeric, `current_version` can remain -1 (or parse partially) and still be treated as valid, leading to wrong cache versioning. Please check the returned `std::from_chars_result` (ec/ptr) and fail fast on parse errors.
   ```suggestion
               const auto& version_str = scan_range_iter->scan_range.palo_scan_range.version;
               const char* version_begin = version_str.data();
               const char* version_end = version_begin + version_str.size();
               auto parse_result = std::from_chars(version_begin, version_end, current_version);
               if (parse_result.ec != std::errc() || parse_result.ptr != version_end) {
                   return Status::InternalError("tablet version is invalid, plan error");
               }
   ```



##########
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/distribute/worker/job/UnassignedScanSingleOlapTableJobTest.java:
##########
@@ -0,0 +1,376 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package org.apache.doris.nereids.trees.plans.distribute.worker.job;
+
+import org.apache.doris.catalog.LocalTablet;
+import org.apache.doris.catalog.MaterializedIndex;
+import org.apache.doris.catalog.OlapTable;
+import org.apache.doris.catalog.Partition;
+import org.apache.doris.catalog.Tablet;
+import org.apache.doris.nereids.StatementContext;
+import org.apache.doris.nereids.trees.plans.distribute.DistributeContext;
+import org.apache.doris.nereids.trees.plans.distribute.worker.DistributedPlanWorker;
+import org.apache.doris.nereids.trees.plans.distribute.worker.DistributedPlanWorkerManager;
+import org.apache.doris.nereids.trees.plans.distribute.worker.ScanWorkerSelector;
+import org.apache.doris.planner.DataPartition;
+import org.apache.doris.planner.OlapScanNode;
+import org.apache.doris.planner.PlanFragment;
+import org.apache.doris.planner.PlanFragmentId;
+import org.apache.doris.qe.ConnectContext;
+import org.apache.doris.qe.OriginStatement;
+import org.apache.doris.thrift.TPaloScanRange;
+import org.apache.doris.thrift.TQueryCacheParam;
+import org.apache.doris.thrift.TScanRange;
+import org.apache.doris.thrift.TScanRangeParams;
+import org.apache.doris.thrift.TUniqueId;
+
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+public class UnassignedScanSingleOlapTableJobTest {
+    @Test
+    public void testQueryCacheAssignByPartition() {
+        ConnectContext connectContext = new ConnectContext();
+        connectContext.setThreadLocalInfo();
+        connectContext.setQueryId(new TUniqueId(1, 1));
+        connectContext.getSessionVariable().parallelPipelineTaskNum = 1;
+        StatementContext statementContext = new StatementContext(

Review Comment:
   These tests set the thread-local `ConnectContext` via `setThreadLocalInfo()` but never clear it (e.g. `ConnectContext.remove()`). Many other FE tests clean up the thread-local to avoid cross-test interference; please add an `@AfterEach` (or finally block) to remove the context.



##########
be/src/pipeline/query_cache/query_cache.h:
##########
@@ -109,27 +109,76 @@ class QueryCache : public LRUCachePolicy {
     static Status build_cache_key(const std::vector<TScanRangeParams>& scan_ranges,
                                   const TQueryCacheParam& cache_param, std::string* cache_key,
                                   int64_t* version) {
-        if (scan_ranges.size() > 1) {
-            return Status::InternalError(
-                    "CacheSourceOperator only support one scan range, plan error");
+        if (scan_ranges.empty()) {
+            return Status::InternalError("scan_ranges is empty, plan error");
         }
-        auto& scan_range = scan_ranges[0];
-        DCHECK(scan_range.scan_range.__isset.palo_scan_range);
-        auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
-
-        std::from_chars(scan_range.scan_range.palo_scan_range.version.data(),
-                        scan_range.scan_range.palo_scan_range.version.data() +
-                                scan_range.scan_range.palo_scan_range.version.size(),
-                        *version);
-
-        auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
-        if (find_tablet == cache_param.tablet_to_range.end()) {
-            return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+
+        std::string digest;
+        try {
+            digest = cache_param.digest;
+        } catch (const std::exception&) {
+            return Status::InternalError("digest is invalid, plan error");
+        }
+        if (digest.empty()) {
+            return Status::InternalError("digest is empty, plan error");
+        }
+
+        if (cache_param.tablet_to_range.empty()) {
+            return Status::InternalError("tablet_to_range is empty, plan error");
+        }
+
+        std::vector<int64_t> tablet_ids;
+        tablet_ids.reserve(scan_ranges.size());
+        for (const auto& scan_range : scan_ranges) {
+            auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
+            tablet_ids.push_back(tablet_id);
+        }

Review Comment:
   `QueryCache::build_cache_key` reads `scan_range.scan_range.palo_scan_range.*` without checking `scan_range.scan_range.__isset.palo_scan_range` (the previous DCHECK is gone). If a non-palo scan range reaches here this will build an invalid key / version; please validate the field is set for every range and return a clear error instead of assuming it.



##########
be/src/pipeline/query_cache/query_cache.h:
##########
@@ -109,27 +109,76 @@ class QueryCache : public LRUCachePolicy {
     static Status build_cache_key(const std::vector<TScanRangeParams>& scan_ranges,
                                   const TQueryCacheParam& cache_param, std::string* cache_key,
                                   int64_t* version) {
-        if (scan_ranges.size() > 1) {
-            return Status::InternalError(
-                    "CacheSourceOperator only support one scan range, plan error");
+        if (scan_ranges.empty()) {
+            return Status::InternalError("scan_ranges is empty, plan error");
         }
-        auto& scan_range = scan_ranges[0];
-        DCHECK(scan_range.scan_range.__isset.palo_scan_range);
-        auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
-
-        std::from_chars(scan_range.scan_range.palo_scan_range.version.data(),
-                        scan_range.scan_range.palo_scan_range.version.data() +
-                                scan_range.scan_range.palo_scan_range.version.size(),
-                        *version);
-
-        auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
-        if (find_tablet == cache_param.tablet_to_range.end()) {
-            return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+
+        std::string digest;
+        try {
+            digest = cache_param.digest;
+        } catch (const std::exception&) {
+            return Status::InternalError("digest is invalid, plan error");
+        }
+        if (digest.empty()) {
+            return Status::InternalError("digest is empty, plan error");
+        }
+
+        if (cache_param.tablet_to_range.empty()) {
+            return Status::InternalError("tablet_to_range is empty, plan error");
+        }
+
+        std::vector<int64_t> tablet_ids;
+        tablet_ids.reserve(scan_ranges.size());
+        for (const auto& scan_range : scan_ranges) {
+            auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
+            tablet_ids.push_back(tablet_id);
+        }
+        std::sort(tablet_ids.begin(), tablet_ids.end());
+
+        int64_t first_version = -1;
+        std::string first_tablet_range;
+        for (size_t i = 0; i < tablet_ids.size(); ++i) {
+            auto tablet_id = tablet_ids[i];
+
+            auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
+            if (find_tablet == cache_param.tablet_to_range.end()) {
+                return Status::InternalError("Not find tablet in partition_to_tablets, plan error");

Review Comment:
   The error message says `partition_to_tablets`, but the code is actually checking `cache_param.tablet_to_range`. Please update the message to reference the correct field to make diagnosing plan issues easier.
   ```suggestion
                   return Status::InternalError("Not find tablet in tablet_to_range, plan error");
   ```



##########
be/src/pipeline/query_cache/query_cache.h:
##########
@@ -109,27 +109,76 @@ class QueryCache : public LRUCachePolicy {
     static Status build_cache_key(const std::vector<TScanRangeParams>& scan_ranges,
                                   const TQueryCacheParam& cache_param, std::string* cache_key,
                                   int64_t* version) {
-        if (scan_ranges.size() > 1) {
-            return Status::InternalError(
-                    "CacheSourceOperator only support one scan range, plan error");
+        if (scan_ranges.empty()) {
+            return Status::InternalError("scan_ranges is empty, plan error");
         }
-        auto& scan_range = scan_ranges[0];
-        DCHECK(scan_range.scan_range.__isset.palo_scan_range);
-        auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
-
-        std::from_chars(scan_range.scan_range.palo_scan_range.version.data(),
-                        scan_range.scan_range.palo_scan_range.version.data() +
-                                scan_range.scan_range.palo_scan_range.version.size(),
-                        *version);
-
-        auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
-        if (find_tablet == cache_param.tablet_to_range.end()) {
-            return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+
+        std::string digest;
+        try {
+            digest = cache_param.digest;
+        } catch (const std::exception&) {
+            return Status::InternalError("digest is invalid, plan error");
+        }
+        if (digest.empty()) {
+            return Status::InternalError("digest is empty, plan error");
+        }
+
+        if (cache_param.tablet_to_range.empty()) {
+            return Status::InternalError("tablet_to_range is empty, plan error");
+        }
+
+        std::vector<int64_t> tablet_ids;
+        tablet_ids.reserve(scan_ranges.size());
+        for (const auto& scan_range : scan_ranges) {
+            auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id;
+            tablet_ids.push_back(tablet_id);
+        }
+        std::sort(tablet_ids.begin(), tablet_ids.end());
+
+        int64_t first_version = -1;
+        std::string first_tablet_range;
+        for (size_t i = 0; i < tablet_ids.size(); ++i) {
+            auto tablet_id = tablet_ids[i];
+
+            auto find_tablet = cache_param.tablet_to_range.find(tablet_id);
+            if (find_tablet == cache_param.tablet_to_range.end()) {
+                return Status::InternalError("Not find tablet in partition_to_tablets, plan error");
+            }
+
+            auto scan_range_iter =
+                    std::find_if(scan_ranges.begin(), scan_ranges.end(),
+                                 [&tablet_id](const TScanRangeParams& range) {
+                                     return range.scan_range.palo_scan_range.tablet_id == tablet_id;
+                                 });

Review Comment:
   `build_cache_key` does a `std::find_if(scan_ranges.begin(), scan_ranges.end(), ...)` inside a loop over `tablet_ids`, making it O(n^2) per instance. For large instances this adds avoidable CPU overhead; consider a single pass that builds a map (tablet_id -> parsed version) or collects (tablet_id, version, range) pairs and then sorts.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4044205700

   # BE UT Coverage Report
   Increment line coverage `91.78% (67/73)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/bfc859e471b57c3ba4c7e4017e338d2686194a32_bfc859e471b57c3ba4c7e4017e338d2686194a32/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/bfc859e471b57c3ba4c7e4017e338d2686194a32_bfc859e471b57c3ba4c7e4017e338d2686194a32/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 52.62% (19681/37401) |
   | Line Coverage     | 36.21% (183537/506930) |
   | Region Coverage   | 32.32% (141634/438271) |
   | Branch Coverage   | 33.51% (61869/184655) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [exec](query-cache) Support multiple tablets in query-cache key building [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4045296527

   # BE Regression && UT Coverage Report
   Increment line coverage `91.78% (67/73)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/60989_bfc859e471b57c3ba4c7e4017e338d2686194a32_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/60989_bfc859e471b57c3ba4c7e4017e338d2686194a32_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 73.24% (26811/36606) |
   | Line Coverage     | 56.48% (285325/505208) |
   | Region Coverage   | 53.63% (237220/442319) |
   | Branch Coverage   | 55.47% (102699/185137) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "HappenLee (via GitHub)" <gi...@apache.org>.
HappenLee commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4028502459

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "HappenLee (via GitHub)" <gi...@apache.org>.
HappenLee commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4038527336

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] test [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60989:
URL: https://github.com/apache/doris/pull/60989#issuecomment-4038911648

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 152801 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit b96b27619888e6ee3afe46b133b21dbdde8f65a8, data reload: false
   
   query5	4345	653	506	506
   query6	340	233	210	210
   query7	4210	484	271	271
   query8	348	243	234	234
   query9	8730	2739	2730	2730
   query10	545	390	342	342
   query11	7492	5875	5623	5623
   query12	192	132	130	130
   query13	1268	452	346	346
   query14	5958	3822	3594	3594
   query14_1	2832	2817	2764	2764
   query15	199	193	183	183
   query16	998	477	458	458
   query17	1116	745	618	618
   query18	2516	447	342	342
   query19	216	212	181	181
   query20	140	131	129	129
   query21	226	151	122	122
   query22	5005	5107	4905	4905
   query23	16060	15557	15291	15291
   query23_1	15440	16179	15982	15982
   query24	7663	1739	1327	1327
   query24_1	1335	1279	1302	1279
   query25	628	528	478	478
   query26	1266	299	166	166
   query27	2963	493	301	301
   query28	4831	1953	1888	1888
   query29	856	602	506	506
   query30	326	251	212	212
   query31	1388	1288	1221	1221
   query32	77	77	69	69
   query33	503	323	269	269
   query34	922	931	575	575
   query35	647	706	608	608
   query36	1088	1120	987	987
   query37	132	96	80	80
   query38	3007	2964	2831	2831
   query39	868	863	848	848
   query39_1	836	828	825	825
   query40	234	153	139	139
   query41	67	100	59	59
   query42	317	301	299	299
   query43	250	245	224	224
   query44	
   query45	193	189	180	180
   query46	879	984	608	608
   query47	2091	2170	2070	2070
   query48	322	311	227	227
   query49	615	451	383	383
   query50	684	274	204	204
   query51	4135	4147	4084	4084
   query52	287	294	278	278
   query53	294	338	286	286
   query54	300	271	255	255
   query55	95	82	94	82
   query56	313	324	308	308
   query57	1372	1324	1268	1268
   query58	315	278	270	270
   query59	1381	1522	1278	1278
   query60	335	333	315	315
   query61	148	149	142	142
   query62	628	577	499	499
   query63	306	281	274	274
   query64	4998	1272	996	996
   query65	
   query66	1451	456	348	348
   query67	16516	16271	16247	16247
   query68	
   query69	378	305	285	285
   query70	994	927	933	927
   query71	339	315	306	306
   query72	2796	2704	2515	2515
   query73	530	546	318	318
   query74	9974	9954	9741	9741
   query75	2828	2762	2459	2459
   query76	2282	1029	662	662
   query77	364	381	303	303
   query78	11159	11414	10681	10681
   query79	1153	752	597	597
   query80	1340	620	539	539
   query81	580	280	244	244
   query82	1002	149	115	115
   query83	340	257	240	240
   query84	257	112	104	104
   query85	895	486	440	440
   query86	417	301	304	301
   query87	3181	3133	2998	2998
   query88	3518	2648	2637	2637
   query89	420	387	352	352
   query90	2047	174	172	172
   query91	164	159	140	140
   query92	78	77	69	69
   query93	1014	835	495	495
   query94	634	307	305	305
   query95	577	398	321	321
   query96	637	508	228	228
   query97	2492	2470	2375	2375
   query98	232	222	219	219
   query99	978	986	899	899
   Total cold run time: 234703 ms
   Total hot run time: 152801 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org