Skip to content

Conversation

@zddr
Copy link
Contributor

@zddr zddr commented Jul 8, 2025

pick from #52349

… should be merged (apache#52349)

### What problem does this PR solve?

when user1 has two role: role1 and role2

role1 has priv1

role2 has priv2

when user1 needs both priv1 and priv2 for authorization

**expect behavior**:

Authentication successful

**Current system behavior**:

the system will throw a 'Permission Denied' error."

**Fix Solution**:

When validating permissions via the second role, retain awareness of
privileges assigned to the first role
# Conflicts:
#	fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java
#	fe/fe-core/src/test/java/org/apache/doris/mysql/privilege/AuthTest.java
#	fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java
@zddr zddr requested a review from morrySnow as a code owner July 8, 2025 10:47
@hello-stephen
Copy link
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?

@zddr
Copy link
Contributor Author

zddr commented Jul 8, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17593	6803	6605	6605
q2	2060	199	209	199
q3	10473	1168	1257	1168
q4	10215	755	748	748
q5	7745	2870	2851	2851
q6	214	131	133	131
q7	988	620	618	618
q8	9348	1933	2031	1933
q9	6637	6416	6376	6376
q10	6998	2327	2271	2271
q11	461	261	252	252
q12	391	217	215	215
q13	17768	2980	2997	2980
q14	229	205	205	205
q15	508	472	482	472
q16	469	396	381	381
q17	976	561	555	555
q18	7260	6622	6694	6622
q19	1330	963	975	963
q20	491	196	206	196
q21	3937	3161	3141	3141
q22	1139	988	1006	988
Total cold run time: 107230 ms
Total hot run time: 39870 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6626	6573	6591	6573
q2	324	232	232	232
q3	2892	2884	2905	2884
q4	2076	1888	1878	1878
q5	5702	5734	5727	5727
q6	208	130	131	130
q7	2209	1809	1807	1807
q8	3349	3491	3525	3491
q9	8819	8804	8877	8804
q10	3574	3514	3516	3514
q11	597	491	504	491
q12	804	558	598	558
q13	10124	3140	3149	3140
q14	295	285	291	285
q15	515	470	479	470
q16	491	436	428	428
q17	1860	1635	1647	1635
q18	8373	7694	7668	7668
q19	1702	1565	1598	1565
q20	2033	1822	1810	1810
q21	5071	5060	5088	5060
q22	1161	1045	1020	1020
Total cold run time: 68805 ms
Total hot run time: 59170 ms

@doris-robot
Copy link

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

query1	1284	883	913	883
query2	6386	1921	1931	1921
query3	11029	4397	4663	4397
query4	33310	23296	23753	23296
query5	3654	456	447	447
query6	272	172	178	172
query7	3979	314	335	314
query8	284	227	228	227
query9	9532	2591	2591	2591
query10	486	269	259	259
query11	17873	15278	15146	15146
query12	151	104	103	103
query13	1551	436	413	413
query14	10129	7278	7761	7278
query15	256	193	195	193
query16	8110	506	501	501
query17	1734	633	587	587
query18	2187	334	335	334
query19	377	170	169	169
query20	124	115	117	115
query21	203	108	105	105
query22	4708	4439	4472	4439
query23	34958	33845	34429	33845
query24	12017	2928	2922	2922
query25	681	432	424	424
query26	1792	176	173	173
query27	2702	356	372	356
query28	7707	2186	2185	2185
query29	1034	457	466	457
query30	267	159	165	159
query31	1053	814	827	814
query32	92	78	57	57
query33	757	322	319	319
query34	1007	523	513	513
query35	931	731	736	731
query36	1128	954	939	939
query37	266	72	77	72
query38	4149	3959	4006	3959
query39	1528	1455	1473	1455
query40	262	100	103	100
query41	50	47	49	47
query42	116	108	104	104
query43	527	475	472	472
query44	1343	835	833	833
query45	187	164	174	164
query46	1182	728	732	728
query47	2003	1911	1924	1911
query48	463	369	358	358
query49	1105	396	376	376
query50	832	421	418	418
query51	7532	7372	7292	7292
query52	106	89	88	88
query53	256	181	184	181
query54	1244	477	484	477
query55	84	81	77	77
query56	275	262	247	247
query57	1347	1234	1220	1220
query58	220	207	210	207
query59	3281	2942	2940	2940
query60	289	271	256	256
query61	114	146	113	113
query62	866	681	699	681
query63	235	195	186	186
query64	5047	666	652	652
query65	3369	3280	3282	3280
query66	1349	310	299	299
query67	16265	15459	15513	15459
query68	5559	588	557	557
query69	434	270	255	255
query70	1165	1130	1048	1048
query71	338	264	260	260
query72	6162	3962	4096	3962
query73	749	345	372	345
query74	10358	8954	9204	8954
query75	3379	2643	2657	2643
query76	3195	1051	1114	1051
query77	386	266	268	266
query78	10520	9620	9567	9567
query79	2020	614	617	614
query80	1178	458	418	418
query81	538	228	217	217
query82	926	88	88	88
query83	233	139	146	139
query84	230	76	80	76
query85	1392	305	295	295
query86	460	302	296	296
query87	4321	4323	4188	4188
query88	4041	2443	2426	2426
query89	427	300	292	292
query90	1983	188	188	188
query91	142	110	103	103
query92	68	51	50	50
query93	2447	571	555	555
query94	921	308	299	299
query95	364	254	258	254
query96	609	286	289	286
query97	3317	3142	3216	3142
query98	227	195	194	194
query99	1518	1280	1291	1280
Total cold run time: 309244 ms
Total hot run time: 196744 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.07	0.03	0.03
query3	0.23	0.07	0.07
query4	1.63	0.11	0.11
query5	0.50	0.52	0.50
query6	1.15	0.73	0.72
query7	0.01	0.02	0.02
query8	0.04	0.03	0.04
query9	0.56	0.49	0.49
query10	0.57	0.56	0.56
query11	0.14	0.10	0.10
query12	0.14	0.11	0.11
query13	0.61	0.60	0.60
query14	0.77	0.79	0.80
query15	0.84	0.83	0.82
query16	0.38	0.38	0.38
query17	1.04	1.07	0.98
query18	0.23	0.21	0.21
query19	1.90	1.88	1.78
query20	0.01	0.01	0.02
query21	15.40	0.60	0.58
query22	2.56	2.38	2.26
query23	16.97	1.00	0.74
query24	2.91	1.07	2.07
query25	0.31	0.06	0.04
query26	0.59	0.13	0.13
query27	0.04	0.04	0.04
query28	9.51	0.48	0.54
query29	12.56	3.22	3.20
query30	0.24	0.06	0.06
query31	2.86	0.40	0.38
query32	3.25	0.46	0.45
query33	2.98	3.01	3.04
query34	17.02	4.55	4.55
query35	4.55	4.51	4.53
query36	0.68	0.47	0.47
query37	0.09	0.06	0.07
query38	0.04	0.03	0.03
query39	0.03	0.03	0.03
query40	0.16	0.13	0.12
query41	0.08	0.03	0.02
query42	0.03	0.02	0.02
query43	0.03	0.02	0.02
Total cold run time: 103.74 s
Total hot run time: 30.61 s

@zddr
Copy link
Contributor Author

zddr commented Jul 9, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17574	6956	6704	6704
q2	2073	188	171	171
q3	10631	1127	1227	1127
q4	10547	751	720	720
q5	7750	2871	2811	2811
q6	229	136	135	135
q7	979	620	614	614
q8	9584	1973	1956	1956
q9	7329	6432	6446	6432
q10	7129	2309	2357	2309
q11	468	269	279	269
q12	421	224	217	217
q13	17892	3079	3039	3039
q14	232	215	216	215
q15	500	468	468	468
q16	480	393	380	380
q17	999	578	536	536
q18	7457	6852	6869	6852
q19	1321	1031	1004	1004
q20	479	199	198	198
q21	3893	3114	3265	3114
q22	1092	997	997	997
Total cold run time: 109059 ms
Total hot run time: 40268 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6643	6670	6625	6625
q2	327	235	230	230
q3	3018	2896	2928	2896
q4	2083	1823	1785	1785
q5	5662	5703	5725	5703
q6	214	127	127	127
q7	2201	1822	1808	1808
q8	3379	3556	3401	3401
q9	8860	8897	8780	8780
q10	3576	3524	3524	3524
q11	606	489	503	489
q12	806	596	597	596
q13	8370	3126	3190	3126
q14	309	285	271	271
q15	518	452	459	452
q16	535	444	433	433
q17	1860	1647	1598	1598
q18	8311	7646	7787	7646
q19	1682	1533	1624	1533
q20	2114	1876	1866	1866
q21	5099	4958	5038	4958
q22	1135	1023	1021	1021
Total cold run time: 67308 ms
Total hot run time: 58868 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 196155 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 1ec30765bbb7c297d343ce14744aa76084930dd7, data reload: false

query1	1276	894	915	894
query2	6278	1898	1883	1883
query3	10845	4233	4168	4168
query4	36702	23353	23484	23353
query5	3815	456	453	453
query6	271	169	201	169
query7	4002	315	314	314
query8	274	229	231	229
query9	9522	2557	2562	2557
query10	469	271	258	258
query11	16501	15168	15132	15132
query12	152	102	110	102
query13	1555	434	417	417
query14	8881	7254	6739	6739
query15	282	188	198	188
query16	8004	494	507	494
query17	1594	603	598	598
query18	2161	350	326	326
query19	221	167	162	162
query20	119	116	118	116
query21	209	108	108	108
query22	4945	4753	4633	4633
query23	35777	34256	33831	33831
query24	11506	2940	2870	2870
query25	553	399	407	399
query26	904	172	169	169
query27	2812	363	360	360
query28	7557	2140	2140	2140
query29	671	456	454	454
query30	258	166	156	156
query31	1016	856	824	824
query32	91	57	54	54
query33	739	289	296	289
query34	932	522	505	505
query35	846	718	745	718
query36	1118	944	952	944
query37	115	66	73	66
query38	4051	3928	3994	3928
query39	1516	1469	1452	1452
query40	246	116	101	101
query41	49	48	47	47
query42	114	102	106	102
query43	532	476	486	476
query44	1331	816	820	816
query45	187	175	173	173
query46	1182	743	740	740
query47	2076	1877	1946	1877
query48	422	354	350	350
query49	924	394	395	394
query50	848	433	415	415
query51	7418	7252	7318	7252
query52	101	95	91	91
query53	256	190	192	190
query54	1254	475	479	475
query55	78	80	77	77
query56	266	261	253	253
query57	1307	1199	1213	1199
query58	218	202	211	202
query59	3225	2989	3006	2989
query60	296	270	253	253
query61	111	106	110	106
query62	850	714	719	714
query63	225	196	186	186
query64	5013	727	742	727
query65	3355	3389	3284	3284
query66	1175	314	324	314
query67	16364	15677	15613	15613
query68	4645	594	590	590
query69	441	268	277	268
query70	1144	1072	1111	1072
query71	334	267	258	258
query72	6144	4173	3988	3988
query73	749	353	354	353
query74	10210	9341	8923	8923
query75	3402	2626	2684	2626
query76	2310	1014	1017	1014
query77	366	274	276	274
query78	10916	9795	9619	9619
query79	2015	603	607	603
query80	933	431	411	411
query81	555	228	219	219
query82	755	91	86	86
query83	229	140	139	139
query84	236	76	84	76
query85	1295	328	313	313
query86	445	293	301	293
query87	4381	4215	4366	4215
query88	3897	2374	2331	2331
query89	419	281	296	281
query90	2006	183	185	183
query91	139	108	105	105
query92	68	49	50	49
query93	2091	556	559	556
query94	1003	284	280	280
query95	368	254	252	252
query96	619	278	279	278
query97	3288	3140	3217	3140
query98	228	202	200	200
query99	1498	1292	1327	1292
Total cold run time: 305092 ms
Total hot run time: 196155 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.06	0.04	0.03
query3	0.24	0.06	0.07
query4	1.61	0.10	0.11
query5	0.53	0.54	0.52
query6	1.13	0.73	0.72
query7	0.02	0.02	0.02
query8	0.04	0.03	0.03
query9	0.56	0.50	0.50
query10	0.56	0.54	0.56
query11	0.14	0.10	0.10
query12	0.14	0.11	0.11
query13	0.62	0.59	0.60
query14	0.80	0.79	0.79
query15	0.83	0.82	0.82
query16	0.38	0.37	0.37
query17	1.01	1.09	1.06
query18	0.24	0.21	0.21
query19	1.97	1.80	1.80
query20	0.01	0.02	0.01
query21	15.39	0.56	0.58
query22	2.44	1.73	1.70
query23	16.96	0.96	0.81
query24	3.58	1.39	1.31
query25	0.13	0.26	0.10
query26	0.45	0.14	0.13
query27	0.05	0.05	0.04
query28	9.46	0.54	0.46
query29	12.57	3.23	3.20
query30	0.25	0.06	0.06
query31	2.88	0.39	0.37
query32	3.23	0.45	0.44
query33	2.98	2.99	3.01
query34	16.90	4.51	4.44
query35	4.56	4.57	4.50
query36	0.69	0.48	0.48
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.16	0.13	0.13
query41	0.08	0.03	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 103.92 s
Total hot run time: 30.31 s

@zddr
Copy link
Contributor Author

zddr commented Jul 9, 2025

run cloud_p0

@morrySnow morrySnow changed the title branch-3.1:[fix](auth)fix when authentication, the permissions of multiple roles… branch-3.1: [fix](auth)fix when authentication, the permissions of multiple roles should be merged #52349 Jul 9, 2025
@morrySnow morrySnow merged commit 09bf917 into apache:branch-3.1 Jul 9, 2025
20 of 21 checks passed
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.

4 participants