Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix](compatibility) Enhance SSL and Long Flag Handling in MySQL Handshake #38086

Merged
merged 1 commit into from
Jul 19, 2024

Conversation

zy-kkk
Copy link
Member

@zy-kkk zy-kkk commented Jul 18, 2024

Issue Number: close #38065

This PR introduces a fix to the SSL and CLIENT_LONG_FLAG handling in the MySQL handshake process. It ensures that the flags are correctly set according to the protocol requirements and resolves the issues related to decimal data fetching when SSL is enabled.

@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

Copy link
Contributor

@morningman morningman 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
Contributor

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

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jul 18, 2024
Copy link
Contributor

PR approved by anyone and no changes requested.

@zy-kkk
Copy link
Member Author

zy-kkk commented Jul 19, 2024

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17607	4332	4275	4275
q2	2006	191	185	185
q3	10448	1137	1190	1137
q4	10192	826	839	826
q5	7547	2692	2689	2689
q6	222	140	135	135
q7	944	595	605	595
q8	9215	2052	2060	2052
q9	8725	6540	6547	6540
q10	8783	3787	3773	3773
q11	457	242	241	241
q12	414	216	217	216
q13	17778	2967	2936	2936
q14	267	229	236	229
q15	523	505	491	491
q16	491	383	371	371
q17	959	747	591	591
q18	8020	7388	7429	7388
q19	8711	1309	1384	1309
q20	680	326	322	322
q21	4892	3104	3105	3104
q22	345	287	287	287
Total cold run time: 119226 ms
Total hot run time: 39692 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4343	4225	4228	4225
q2	367	269	258	258
q3	2977	2922	2923	2922
q4	1994	1673	1774	1673
q5	5652	5606	5446	5446
q6	230	129	127	127
q7	2209	1852	1807	1807
q8	3246	3446	3400	3400
q9	8748	8815	8920	8815
q10	4113	3748	3786	3748
q11	624	506	494	494
q12	801	650	660	650
q13	16213	3141	3194	3141
q14	309	308	276	276
q15	530	487	508	487
q16	477	426	430	426
q17	1821	1563	1508	1508
q18	8191	7895	7813	7813
q19	1795	1626	1339	1339
q20	2308	1859	1859	1859
q21	5027	4927	4586	4586
q22	594	534	527	527
Total cold run time: 72569 ms
Total hot run time: 55527 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173643 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 89f91feadf187a87a851d82f7e9335f0a56fb397, data reload: false

query1	909	373	371	371
query2	6456	1831	1812	1812
query3	6649	204	214	204
query4	28380	17247	17492	17247
query5	3680	474	458	458
query6	253	161	162	161
query7	4580	287	297	287
query8	246	186	180	180
query9	8499	2471	2440	2440
query10	449	310	277	277
query11	11607	10095	10071	10071
query12	115	83	83	83
query13	1631	368	366	366
query14	10089	7563	7536	7536
query15	220	168	172	168
query16	7683	323	321	321
query17	1577	563	537	537
query18	1937	290	283	283
query19	199	149	151	149
query20	89	84	85	84
query21	199	125	125	125
query22	4274	4123	4059	4059
query23	34039	33688	33550	33550
query24	10942	2922	2922	2922
query25	601	415	429	415
query26	705	154	153	153
query27	2367	284	284	284
query28	6192	2082	2088	2082
query29	910	664	649	649
query30	253	159	159	159
query31	949	762	831	762
query32	101	58	55	55
query33	653	301	287	287
query34	870	504	496	496
query35	699	591	578	578
query36	1151	983	973	973
query37	153	82	87	82
query38	3026	2845	2849	2845
query39	857	793	811	793
query40	205	120	119	119
query41	45	42	47	42
query42	120	98	99	98
query43	513	444	453	444
query44	1073	726	732	726
query45	197	160	158	158
query46	1080	710	704	704
query47	1907	1778	1776	1776
query48	362	292	286	286
query49	826	396	406	396
query50	776	380	382	380
query51	6887	6819	6823	6819
query52	114	91	89	89
query53	353	300	282	282
query54	847	442	436	436
query55	73	70	73	70
query56	281	263	263	263
query57	1127	1044	1077	1044
query58	246	233	255	233
query59	2816	2597	2548	2548
query60	292	270	291	270
query61	93	90	91	90
query62	777	641	659	641
query63	320	286	280	280
query64	9096	2203	1668	1668
query65	3147	3093	3090	3090
query66	742	321	328	321
query67	15648	15207	14919	14919
query68	5792	545	534	534
query69	724	449	339	339
query70	1111	1141	1061	1061
query71	455	276	276	276
query72	7545	5843	6134	5843
query73	770	327	318	318
query74	6015	5723	5691	5691
query75	3665	2697	2738	2697
query76	3197	949	882	882
query77	627	303	304	303
query78	11537	9865	9038	9038
query79	6119	523	519	519
query80	1334	486	472	472
query81	593	220	227	220
query82	945	133	132	132
query83	313	172	167	167
query84	269	87	83	83
query85	1303	312	301	301
query86	478	305	311	305
query87	3382	3081	3124	3081
query88	4434	2376	2424	2376
query89	483	383	389	383
query90	1818	196	205	196
query91	135	100	96	96
query92	65	50	49	49
query93	4599	511	508	508
query94	1240	214	219	214
query95	414	315	320	315
query96	615	282	268	268
query97	3191	3043	3030	3030
query98	225	192	194	192
query99	1558	1258	1298	1258
Total cold run time: 289103 ms
Total hot run time: 173643 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.03
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.68	0.07	0.07
query5	0.48	0.49	0.51
query6	1.14	0.73	0.73
query7	0.02	0.02	0.01
query8	0.06	0.04	0.05
query9	0.54	0.47	0.48
query10	0.54	0.54	0.53
query11	0.15	0.12	0.11
query12	0.14	0.12	0.12
query13	0.60	0.58	0.58
query14	0.75	0.75	0.77
query15	0.86	0.83	0.80
query16	0.36	0.37	0.37
query17	1.05	1.05	1.02
query18	0.24	0.22	0.22
query19	1.79	1.78	1.73
query20	0.01	0.01	0.01
query21	15.38	0.76	0.67
query22	3.84	7.89	1.85
query23	18.26	1.33	1.25
query24	2.07	0.23	0.22
query25	0.16	0.08	0.09
query26	0.31	0.21	0.21
query27	0.46	0.24	0.23
query28	13.34	1.02	1.00
query29	12.61	3.39	3.37
query30	0.25	0.07	0.06
query31	2.88	0.38	0.38
query32	3.26	0.48	0.46
query33	2.89	2.95	2.87
query34	17.00	4.42	4.39
query35	4.41	4.41	4.40
query36	0.65	0.47	0.45
query37	0.18	0.16	0.16
query38	0.15	0.15	0.15
query39	0.04	0.04	0.04
query40	0.15	0.12	0.12
query41	0.09	0.05	0.05
query42	0.06	0.06	0.05
query43	0.05	0.04	0.04
Total cold run time: 109.24 s
Total hot run time: 30.67 s

@zy-kkk zy-kkk merged commit 97ffcad into apache:master Jul 19, 2024
28 of 30 checks passed
@zy-kkk zy-kkk deleted the fix_ssl branch July 19, 2024 08:41
zy-kkk added a commit to zy-kkk/doris that referenced this pull request Jul 19, 2024
…shake (apache#38086)

Issue Number: close apache#38065

This PR introduces a fix to the SSL and CLIENT_LONG_FLAG handling in the
MySQL handshake process. It ensures that the flags are correctly set
according to the protocol requirements and resolves the issues related
to decimal data fetching when SSL is enabled.
@cjj2010
Copy link
Contributor

cjj2010 commented Jul 19, 2024

Will this patch be merged into 2.1.5? @zy-kkk

yiguolei pushed a commit that referenced this pull request Jul 19, 2024
…n MySQL Handshake (#38140)

pick(#38086)
Issue Number: close #38065

This PR introduces a fix to the SSL and CLIENT_LONG_FLAG handling in the
MySQL handshake process. It ensures that the flags are correctly set
according to the protocol requirements and resolves the issues related
to decimal data fetching when SSL is enabled.
dataroaring pushed a commit that referenced this pull request Jul 22, 2024
…shake (#38086)

Issue Number: close #38065

This PR introduces a fix to the SSL and CLIENT_LONG_FLAG handling in the
MySQL handshake process. It ensures that the flags are correctly set
according to the protocol requirements and resolves the issues related
to decimal data fetching when SSL is enabled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.1.5-merged dev/3.0.1-merged reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] MySQL protocol cannot obtain decimal precision when SSL is enabled
6 participants