forked from trdtnguyen/mysql-plnvm
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathChangeLog
3151 lines (2325 loc) · 115 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit 0441472e19e9a2e41df5d61098eb97c3e211547c
Author: Anushree Prakash B <[email protected]>
Date: Wed Sep 13 12:20:39 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
(cherry picked from commit 7b433c573694dbde070359db7d26cb17749cbea1)
commit d47295512de7e1dcece92a0acb6b48ca8b80013f
Author: Anushree Prakash B <[email protected]>
Date: Fri Sep 8 18:32:58 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
(cherry picked from commit 06db648de3b080bae518a083dd122ea10b058c04)
commit 1e550f642d14a89ac218cb0fb296c54d21586ff5
Author: Venkatesh Duggirala <[email protected]>
Date: Thu Sep 7 17:45:57 2017 +0530
Revert "Bug#26589008 SYNC_BINLOG=0 SHOULD IGNORE BINLOG_GROUP_COMMIT_SYNC_DELAY"
This reverts commit 5654f5ec294f3d8ea087029ba9b47ad3eb2835b3.
commit 480caa0e21b039eb937d07db3d80403372e83b45
Author: Sujatha Sivakumar <[email protected]>
Date: Tue Aug 29 14:55:26 2017 +0530
Bug#26414532: MYSQLRPLSYNC ERRORS OUT BECAUSE SLAVE IS USING
--SUPER-READ-ONLY OPTION
Post push fix to address test issue.
commit 5d8931ee86f7f959cf0d6bf54828f578632a4647
Author: Ivo Roylev <[email protected]>
Date: Sun Aug 13 11:00:17 2017 +0300
wl10820 backport
commit 66d23cf58e6ab02b91c10cffb0f17bee5ed3f503
Author: Nuno Carvalho <[email protected]>
Date: Fri Aug 25 10:57:13 2017 +0200
BUG#25495393: GROUP REPLICATION CAN USE SOME VERBOSITY IN THE ERROR LOG
Fix a memory leak on Gcs_view handling on gcs_event_handlers.cc.
commit 33bc7b6676451e09cf8f179eec61c1589479721b
Author: Tor Didriksen <[email protected]>
Date: Thu Aug 24 16:56:33 2017 +0200
Bug#26680491 BUILD ON WINDOWS: ADAPT WIX SEARCH TO 32/64BIT VERSIONS OF CMAKE
When upgrading to cmake3.8 bulding of MSI packages failed because the WiX
toolkit is not found.
Solution: Search in ProgramFiles(x86) in addition to existing search paths.
commit 45e7c0dd74c26d3adea65667882538fbd8613857
Author: Jaideep Karande <[email protected]>
Date: Fri Aug 25 03:12:48 2017 +0200
Bug#25495393: GROUP REPLICATION CAN USE SOME VERBOSITY IN THE ERROR LOG
Post push handled windows build issues and doxygen warnings.
commit ed02e297ff98682c0c25d70de0d524ae522bac90
Author: Hemant Dangi <[email protected]>
Date: Fri Aug 25 00:03:28 2017 +0200
Bug#26024253: GR MEMBER STOP MUST STOP ALL ASYNCHRONOUS CHANNELS THAT ARE FEEDING DATA INTO IT
Post push fix to add "have_debug.inc" to a gr_stop_async_on_stop_gr test case.
commit 38fa9e96d16fefc0fd75d9976a7633fd537377b3
Author: Jaideep Karande <[email protected]>
Date: Thu Aug 24 22:33:03 2017 +0200
Bug#25495393: GROUP REPLICATION CAN USE SOME VERBOSITY IN THE ERROR LOG
Handled failing builds due to missing sstream header file.
commit 5ca5f18320e41a0ff131f66e7bb11912d0d3d888
Author: Jaideep Karande <[email protected]>
Date: Wed Jul 26 04:20:24 2017 +0530
Bug#25495393: GROUP REPLICATION CAN USE SOME VERBOSITY IN THE ERROR LOG
Description:
At present not all scenarios of Group membership changes are logged.
When member join or member leaves, customers cannot identify same by looking
at logs. View changes are not logged. Present logging does not assist DBAs with
corrective measures during network partitions or inform DBAs when member
re-connects.
Also at some places we are logging internal debug messages which cannot be decoded
by DBAs.
Important member related configuration is also not logged.
Resolution:
Logging has been analyzed for:
1. View changes
2. Member join
3. Member leave(graceful and crash)
4. Member unreachable
5. Member re-connect
6. Removal of debug messages
7. Member configuration has been extended with Member_id, member_uuid,
single_primary_mode, and group_replication_auto_increment_increment
8. Improvements in single-primary mode status reporting and member
leaving/joining logging
New messages have been added and change to existing messages where required has
been done.
commit c165ce82d364b37286ae1cd57feede76ac9349ab
Author: Hemant Dangi <[email protected]>
Date: Thu Aug 24 19:59:47 2017 +0200
Bug#26024253: GR MEMBER STOP MUST STOP ALL ASYNCHRONOUS CHANNELS THAT ARE FEEDING DATA INTO IT
Issue
=====
If a member that has asynchronous channels feeding data into it - either on
multi-primary deploy or the primary on single-primary deploy - does stop, all
asynchronous channels must be stopped to avoid that changes are made locally
(not replicated to the group).
Even when super_read_only it is set on STOP GROUP_REPLICATION, that will not
affect already running asynchronous which can still do changes.
Solution
========
When group replication stops, due to error or due to executing stop
group_replication command, all asynchronous channels are stopped.
commit 5654f5ec294f3d8ea087029ba9b47ad3eb2835b3
Author: Venkatesh Duggirala <[email protected]>
Date: Thu Aug 24 10:56:38 2017 +0530
Bug#26589008 SYNC_BINLOG=0 SHOULD IGNORE BINLOG_GROUP_COMMIT_SYNC_DELAY
Problem: When sync_binlog=0, sync stage in binlog group commit is
never reached. But still each binlog group is waiting for
BINLOG_GROUP_COMMIT_SYNC_DELAY seconds before entering into
sync stage.
Fix: Now the code is changed in such a way that the waiting logic considers
sync_binlog=0 case and skips delay logic in such case.
commit c2b1fdc4f4aa61fe76b8ac7a34d0c1bb4ed2deda
Author: Terje Rosten <[email protected]>
Date: Fri Aug 11 16:00:58 2017 +0200
Bug#26474153 CONTRIBUTION: ADJUST SPEC FILE TO SHOW A PROPER RPMBUILD COMMAND
Package redhat-rpm-config adds some convenience macros when building
on RHEL6 and later. Recommend package when rebuilding rpm package.
RHEL5 is EOL, remove from comment.
Change based on contribution from Simon Mudd, bug#87098.
commit 7decf32cfeb50de379d1d1cc45edee448ff5ec89
Author: Terje Rosten <[email protected]>
Date: Fri Aug 11 16:16:30 2017 +0200
Bug#26595288 5.7 STARTUP SCRIPTS ALWAYS INITIALIZE IF EMPTY DATADIR
Add option to skip automatic init, making it possible to opt-out.
Default is still to perform init.
To skip init, create file /etc/sysconfig/mysql with contents like:
NO_INIT=true
commit 9a9b6ec37c70fc603385bdbc93797edf36fc0ad4
Author: Terje Rosten <[email protected]>
Date: Fri Aug 11 15:38:09 2017 +0200
Bug#26446321 CONTRIBUTION: FIX INSTALL DATABASE BY USED MYSQLD --INITIALIZE
Since MySQL 5.7 mysql_install_db has been deprecated, mysqld --initialize is
now preferred. Switch mysqld_multi.sh.
Based on contribution from tigerb, bug#87080.
Change is 5.7 specific, MySQL 8 was fixed by:
WL#9071: Remove mysql_install_db and server --bootstrap option
commit 39cbc25e9e7bb62cfd327ef1106ee27fbdcdbe9f
Author: Georgi Kodinov <[email protected]>
Date: Thu Aug 24 15:41:50 2017 +0300
WL#8891: Audit Log: Abort SQL queries on rule based condition
commit 671c1b618d88e414d337dece79949e9ec58145f8
Merge: eadb8d0 bdc4aa6
Author: Ajo Robert <[email protected]>
Date: Thu Aug 24 17:06:07 2017 +0530
NULL Merge branch 'mysql-5.6' into mysql-5.7
commit bdc4aa601950295a602c5320f260d91e66e6ff82
Merge: 0012c45 ebfd0eb
Author: Ajo Robert <[email protected]>
Date: Thu Aug 24 17:04:45 2017 +0530
Merge branch 'mysql-5.5' into mysql-5.6
commit ebfd0ebe55692c0f115f01d5441050b773674a71
Author: Ajo Robert <[email protected]>
Date: Thu Aug 24 17:03:21 2017 +0530
Bug#26361149 MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST,
COL), NAME_CONST('NAME', NULL))
Backport of Bug#19143243 fix.
NAME_CONST item can return NULL_ITEM type in case of incorrect arguments.
NULL_ITEM has special processing in Item_func_in function.
In Item_func_in::fix_length_and_dec an array of possible comparators is
created. Since NAME_CONST function has NULL_ITEM type, corresponding
array element is empty. Then NAME_CONST is wrapped to ITEM_CACHE.
ITEM_CACHE can not return proper type(NULL_ITEM) in Item_func_in::val_int(),
so the NULL_ITEM is attempted compared with an empty comparator.
The fix is to disable the caching of Item_name_const item.
commit eadb8d0f0a501125ddc90d0afd75d9b858d88113
Author: Anibal Pinto <[email protected]>
Date: Thu Aug 24 12:39:14 2017 +0200
BUG#26611272: Test gr_uninstall_while_network_blocked is failling on PB2
Desciption:
This test create a group of two members, where one member is put in a UNREACHABLE state
and then INSERT is executed which gets blocked, then when we try to execute UNINSTALL
command it returns an error that plugin cannot be uninstalled now.
But if the UNINSTALL is executed before the plugin receives INSERT query, the plugin
will be able to UNINSTALL successfully, that results in a test failure as is
expecting UNINSTALL to fail with error ER_PLUGIN_CANNOT_BE_UNINSTALLED.
Solution:
To prevent the uninstall getting executed successfully, we wait for server to receive
the INSERT, before executing the UNINSTALL of Group Replication plugin.
commit 270a2356f911279fa99c5c9879a6a61884b4f4f0
Merge: 8946b3f 0012c45
Author: Arun Kuruvila <[email protected]>
Date: Thu Aug 24 14:25:10 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit 0012c451bf04e49a50dc113637de2144ddfb89ee
Merge: 801b070 0bed495
Author: Arun Kuruvila <[email protected]>
Date: Thu Aug 24 14:23:52 2017 +0530
Merge branch 'mysql-5.5' into mysql-5.6
commit 0bed495b4909b9d72e37c9075f0057263040ab3f
Author: Arun Kuruvila <[email protected]>
Date: Thu Aug 24 14:19:38 2017 +0530
Bug#26482173: TLS CIPHER NEGOTIATION INCORRECTLY MATCHES ON
LAST BYTE ONLY (YASSL)
Description:- TLS cipher negociation happens incorrectly
leading to the use of a different
Analysis:- YaSSL based MySQL server will compare only the
last byte of each cipher sent in the Client Hello message.
This can cause TLS connections to fail, due to the server
picking a cipher which the client doesn't actually support.
Fix:- A fix for detecting cipher suites with non leading
zeros is included as YaSSL only supports cipher suites with
leading zeros.
commit 8946b3f641d632781b3eace099e698a6ff459dca
Author: Dyre Tjeldvoll <[email protected]>
Date: Fri Aug 18 14:59:23 2017 +0200
Bug#26447825: MYSQLD COMPLETELY SILENT EVEN IN FAILURE IF LOG-ERROR IS
NOT WRITABLE
Problem: C-library function freopen() is not atomic. It closes the
stream given as argument before trying (and thereby checking if it is
possible) to open the file which the stream is to be associated with. So
in the event that the open() fails, the user is left without a working
stream where the error message for the failed open can go. Likewise, any
buffered messages not yet written to the stream are also lost.
Solution: Stop using freopen() and re-implement my_freopen() using
fopen(), fileno() and dup2(). That way any error from open() (or
fileno()) is caught before doing anything which affects the stream.
According to the man-page, dup2() is atomic.
commit 11bb5b31a4c5b533473252ad6fe6c2fa79fe710e
Author: Sujatha Sivakumar <[email protected]>
Date: Thu Aug 24 12:23:00 2017 +0530
Bug#26414532: MYSQLRPLSYNC ERRORS OUT BECAUSE SLAVE IS USING
--SUPER-READ-ONLY OPTION
Problem:
========
After upgrading MySQL server from 5.7.17 to 5.7.18
'mysqlrplsync' utility tool fails with following error.
ERROR: Query failed. 1290 (HY000): The MySQL server is
running with the --super-read-only option so it cannot
execute this statement
When this occurs, the Slave_SQL_Running on the slave server
stops running and needs to be manually started again. The
slave server does have the super-read-only option set to
true. When running MySQL 5.7.17 this wasn't an issue.
Analysis:
========
When replication information repository is set to 'TABLE'
few replication specific administration commands listed
below, will try to update the repository tables.
1) START SLAVE
2) STOP SLAVE
3) CHANGE MASTER
4) RESET SLAVE
5) RESET MASTER
6) SET GLOBAL GTID_PURGED
7) FLUSH BINARY LOGS
8) 'gtid_executed' TABLE compression thread.
First three commands were fixed as part of Bug#22097534:
SUPER_READ_ONLY ABORTS STOP SLAVE IF
RELAY_LOG_INFO_REPOSITORY=TABLE, DBG CRASH
The reset of the commands were fixed as part of
Bug#22857926: ASSERTION `! IS_SET()' AT SQL_ERROR.CC:38 IN
READ_ONLY MODE FOR MANY RPL CMDS.
During the Bug#22857926 fix, the previous Bug#22097534 fix
specific changes were reverted a new approach was taken.
The new approach used a flag named 'ignore_global_read_lock'
whose intention is to ignore the read only option and allow
commits to replication specific system tables. If this flag
is set then the additional check for 'read only' option is
not done.
But the above fix works fine only when 'AUTOCOMMIT=ON'. In
the case of AUTOCOMMIT=OFF the 'ignore_global_read_lock'
flag is not set. Hence commands fail to ignore read_only
restriction.
STOP SLAVE command behavior explained in detail:
STOP SLAVE command is an IMPLICIT COMMIT command, i.e
parser will append an explicit BEGIN and COMMIT for this
command.
BEGIN
STOP SLAVE;
COMMIT;
STOP SLAVE command will try to stop both the applier thread
and receiver thread and update their positions in
'slave_relay_log_info' and 'slave_master_info' tables.
Case: AUTOCOMMIT=ON.
1) BEGIN
2) Update 'slave_relay_log_info' table and commit as a real
transaction.
System_table_access::close_table will invoke
ha_commit_trans with 'ignore_global_read_lock=true'.
Since autocommit is 'ON' each statement will do a complete
commit and clean up the transaction context.
3) Update 'slave_master_info' also does the same.
4) COMMIT.
COMMIT will invoke 'trans_commit_implicit'. It will check
if there any active transactions which needs to be committed
implicitly. Since step 2-3 are real commit transactions this
final commit has nothing to do. It will exit without
proceeding further.
Case: AUTOCOMMIT=OFF.
1) BEGIN
2) Update 'slave_relay_log_info' table. This transaction is
considered as a multi statement transaction mode, it will
not commit on its own. It will wait for final COMMIT
execution.
3) Update 'slave_master_info' also does the same.
4) COMMIT.
COMMIT will invoke 'trans_commit_implicit'.
It will check if there any active transactions which needs
to be committed . Since there are active transaction
sessions from step 2-3 'ha_commit_trans' will be called as
shown below.
'trans_commit_implicit' will invoke
ha_commit_trans (thd,all=true,ignore_global_read_lock=false)
This will not pass the read_only check and the command will
fail.
This issue happens for commands that update info tables
other than 'gtid_executed' table. In case of 'gtid_executed'
table irrespective of autocommit variable all the
transactions are considered as 'real' transactions and they
will do complete commit.
Fix:
===
Introduced a new variable, to flag the sql command under
execution to ignore the read_only/super_read_only. If the
variable is set then the command is allowed to execute even
though read_only/super_read_only is enabled otherwise
command is blocked.
commit 35fbd4fe164c4fb456641a7380490882d337db35
Author: Harin Vadodaria <[email protected]>
Date: Thu Aug 24 07:41:46 2017 +0200
Bug#26521654: AUTO GENERATED CERTIFICATES SHOULD USE X509 V3
Description: Certificates generated by mysql server and
mysql_ssl_rsa_setup do not use X509v3 and
related extensions.
Solution: Added X509v3 extension.
commit 18ac73fb2f82908a184f96d522ada6c33cde320f
Author: Pedro Gomes <[email protected]>
Date: Wed Aug 23 22:42:22 2017 +0200
Bug#25475132 GROUP REPLICATION: MYSQL CLIENT CONNECTIONS HANG DURING GROUP REPLICATION START
Bug#26037344 THE DELAYED PLUGIN INITIALIZATION THREAD IS LEFT RUNNING WHEN IT IS NOT NEEDED
Client complaints existed about how group replication would make
connections hang on server start if the plugin was also
starting. i.e., joining the group.
To solve this we reworked the delayed initialization mechanism used on
server starts, so it only blocks connections until the server is in
read mode, not waiting for the member to join the group as before.
This rework also solves the issue of the thread responsible for this
task being initialized and running even when not needed.
commit 3a3288c9d35b6294c13672bd66187ffae1654e86
Merge: 3f45fd3 801b070
Author: Anushree Prakash B <[email protected]>
Date: Wed Aug 23 14:02:00 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit 801b0707e21d9e6033b7698abd3ad3a6ee8d89e0
Author: Anushree Prakash B <[email protected]>
Date: Wed Aug 23 13:58:51 2017 +0530
Bug#25510805 - MYSQL CRASHES WHEN TRYING TO CONNECT FROM
A HOST WITH AHOSTNAME OF 69 CHARACTERS
DESCRIPTION:
===========
When a connection is made from a host with a hostname
length of more than HOSTNAME_LENGTH characters,
MySQL crashes with a buffer overflow.
ANALYSIS:
========
If the hostname of the connecting host is greater than
HOSTNAME_LENGTH (60 chars), copying the hostname to the
performance schema table field which is limited to
HOSTNAME_LENGTH characters results in a crash.
FIX:
===
The fix is to truncate the hostname to HOSTNAME_LENGTH
number of characters before adding them to the performance
schema tables which record host information and details.
This makes sure that the client connection is established
successfully.
commit 3f45fd33654925fde447baa40afeacb3f10a3315
Merge: 2947333 c8b79b1
Author: Nisha Gopalakrishnan <[email protected]>
Date: Wed Aug 23 13:04:52 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit c8b79b122008e17ce3d0710a0c6a9ee04ceebbb1
Merge: ca782a5 331fb96
Author: Nisha Gopalakrishnan <[email protected]>
Date: Wed Aug 23 13:02:23 2017 +0530
Merge branch 'mysql-5.5' into mysql-5.6
commit 331fb96afc1af52a44c0d218feb2f9f7e1a1b9a7
Author: Nisha Gopalakrishnan <[email protected]>
Date: Wed Aug 16 13:58:25 2017 +0530
Bug#26390632: CREATE TABLE CAN CAUSE MYSQL TO EXIT.
Analysis
========
CREATE TABLE of InnoDB table with a partition name
which exceeds the path limit can cause the server
to exit.
During the preparation of the partition name,
there was no check to identify whether the complete
path name for partition exceeds the max supported
path length, causing the server to exit during
subsequent processing.
Fix
===
During the preparation of partition name, check and report
an error if the partition path name exceeds the maximum path
name limit.
This is a 5.5 patch.
commit 2947333bff9c9cf128f64f63ad9df2de906757aa
Merge: 22f0a42 ca782a5
Author: Tor Didriksen <[email protected]>
Date: Wed Aug 23 09:27:40 2017 +0200
Null-merge from 5.6.
commit ca782a59ef6d56e3ee555005fd9cd71d6195f313
Merge: 01a355e be9b6bc
Author: Tor Didriksen <[email protected]>
Date: Wed Aug 23 09:26:41 2017 +0200
Merge branch 'mysql-5.5' into mysql-5.6
commit be9b6bc9f9fa758b39eb914732996e68633e8b9c
Author: Tor Didriksen <[email protected]>
Date: Tue Aug 15 13:15:19 2017 +0200
Bug#19875294 ASSERTION `SRC' FAILED IN MY_STRNXFRM_UNICODE (SIG 6 -STRINGS/CTYPE-UTF8.C:5151)
Backport from 5.7 to 5.5 Field_set::val_str()
should return String("", 0, cs) rather than String(NULL, 0, cs)
commit 22f0a42941ba2fa67ca0a6a6e1b43acc1a63d9d8
Merge: 93050cf 01a355e
Author: Venkatesh Duggirala <[email protected]>
Date: Wed Aug 23 09:18:53 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit 01a355e5f0c5dd07d89b1f6ec6a15e52192ea176
Merge: f3d8bdc 5a88c15
Author: Venkatesh Duggirala <[email protected]>
Date: Wed Aug 23 09:17:38 2017 +0530
Merge branch 'mysql-5.5' into mysql-5.6
commit 5a88c153df08d73674197b5cff78dbfcb9c13030
Author: Venkatesh Duggirala <[email protected]>
Date: Wed Aug 23 09:16:12 2017 +0530
Bug#24763131 LOCAL-INFILE DEFAULT SHOULD BE DISABLED
Problem & Analysis: Slave's Receiver thread, Applier thread and worker
threads are created with LOCAL-INFILE option enabled. As the document
says https://dev.mysql.com/doc/refman/5.7/en/load-data-local.html,
there are some issues if a thread enables local infile.
This flag should be enabled with care. But for the above mentioned
internal threads, server is enabling it at the time of creation.
Fix: Further analysis on the code shows that none of threads really
need this flag to be enabled at any time as Slave never executes
"LOAD DATA LOCAL INFILE" after reading it from Relay log.
Applier thread removes "LOCAL" before start executing the query.
commit 93050cf6f6c18205b81f4be9803c8e37e0400540
Author: Sreeharsha Ramanavarapu <[email protected]>
Date: Tue Aug 22 14:08:10 2017 +0530
Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
LEFT JOIN(SUBQUERY) AND ORDER BY
Post-push fix for main.derived:
Windows prefers derived table names in lowercase.
commit 9c7ca080014739512ee279f60cd72d9c822eaa78
Author: Ole-Hjalmar Kristensen <[email protected]>
Date: Mon Aug 21 12:28:33 2017 +0200
Followup fix Bug #25892493 GR XCOM SERVICE SEGFAULTS WHEN MORE THAN 1024 FILE DESCRIPTORS ARE IN USE
The original fix introduced a misplaced call to task_sys_deinit when
it was merged to 5.7. This fix moves the call to the correct place.
commit 75babb156b79b0e9c7242935ebc90c742f5966f4
Merge: 95a0073 f3d8bdc
Author: Venkatesh Duggirala <[email protected]>
Date: Mon Aug 21 14:50:52 2017 +0530
Null Merge branch 'mysql-5.6' into mysql-5.7
commit f3d8bdcac4e8a137549ad6be9434185a9ee71c3f
Author: Venkatesh Duggirala <[email protected]>
Date: Wed Aug 16 13:30:52 2017 +0530
Bug#22382199 RPL.RPL_DUMP_THREAD_KILL FAILS WHEN RUN WITH --MEM
Problem: RPL.RPL_DUMP_THREAD_KILL is failig frequently in test runs.
Analysis: When this test script is running in combination with other tests,
it is possible that dump threads from those tests are not killed.
Every test script has rpl_end.inc but that .inc does not kill dump threads.
This test script expects that the number of dump threads are zero before
starting the test.
Fix: Doing cleanup (stopping dump threads) before the actual test starts.
commit 95a007353c3db2fd37ef8b6b1c594dcd8f73929f
Author: Erlend Dahl <[email protected]>
Date: Sat Aug 19 06:58:08 2017 +0200
Revert "Merge branch 'mysql-5.6' into mysql-5.7"
commit c0e2acd786523a85518e63deb15e5014f3e82af4
Merge: 10f54b6 ecb28d2
Author: Erlend Dahl <[email protected]>
Date: Sat Aug 19 06:57:45 2017 +0200
Null-merge from 5.6
commit ecb28d2b9f359930f2640512ce45bb1a5b81a5ed
Author: Erlend Dahl <[email protected]>
Date: Sat Aug 19 06:56:26 2017 +0200
Revert "Bug#25510805 - MYSQL CRASHES WHEN TRYING TO CONNECT FROM"
commit 10f54b6034e92a3098050a7797751e01a6bd91f1
Author: Sreeharsha Ramanavarapu <[email protected]>
Date: Fri Aug 18 17:30:42 2017 +0530
Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
LEFT JOIN(SUBQUERY) AND ORDER BY
Issue:
------
This bug can occur when:
- there is more than one inner tables in the join nest.
- an Item_direct_view_ref object references a column
from a const (system) table.
This has caused the following regressions :
Bug# 26596977, Bug# 26616066 and Bug# 26618455
Fix for 8.0:
-----------
When the object is of type FIELD_ITEM (i.e. belongs to a
table), Item_direct_view_ref::used_tables should return the
related table's map. In other cases it returns the first
inner table's map.
Fix for 5.7:
------------
The function Item_direct_view_ref::used_tables has been
removed and the fix will limited to handle the problem in
temporary tables.
While creating fields for the temporary table, consider
field as constant only if:
1) The item is constant and
1a) Isn't part of a derived table (or view). OR
1b) The item belongs to a derived table (or view) and it
doesn't belong to an inner table of an outer join.
commit 0af72244583258fc4074142f6983a0abab07b6e9
Author: Alfranio Correia <[email protected]>
Date: Fri Aug 18 12:06:36 2017 +0100
BUG#26241291 EXCESSIVE MEMORY USAGE BY XCOM WITH LARGE INSERT WORKLOADS
Problem
-------
In MySQL 5.7.x, XCOM controls the cache's size by defining a maximum number of
entries and only replaces old entries to accommodate new ones. It never purges
unnecessary and old entries if there is no need to make room for new ones. This
behavior along with the fact that the size of each entry is never taking into
account lead to excessive memory consumption.
This behavior can also make nodes slow thus leading them to be expelled and
eventually causing a majority loss which blocks the whole system.
Fix
---
The fix consists of limiting the memory used by the nodes and automatically
purging old and unused entries. Before doing so, the nodes must agree on the
messages that they must keep in the cache to avoid purging messages that are
not received yet by all nodes. Periodically, nodes send the sequence of the
last message they got an agreement on and define which messages can be
discarded.
This additional information exchanged by them implies a change to the XCOM
protocol version. Because of this, a bug in the protocol version negotiation
had to be fixed as well.
The fixes were already pushed to trunk and were backported 5.7:
BUG#22671683: LIMIT MEMORY UTILIZATION IN XCOM
BUG#25568493: GROUP MEMBERS BECOMES UNREACHABLE WHEN SERVER WITH LOWER
VERSION TRIES TO JOIN
commit 20e8e3d8936dd5710af8e7971e572cc652188211
Merge: e56af38 73e24f7
Author: Anushree Prakash B <[email protected]>
Date: Fri Aug 18 16:14:37 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit 73e24f75ab587314313f167b7a0415c7d5e9a65c
Author: Anushree Prakash B <[email protected]>
Date: Fri Aug 18 16:12:36 2017 +0530
Bug#25510805 - MYSQL CRASHES WHEN TRYING TO CONNECT FROM
A HOST WITH AHOSTNAME OF 69 CHARACTERS
DESCRIPTION:
===========
When a connection is made from a host with a hostname
length of more than HOSTNAME_LENGTH characters,
MySQL crashes with a buffer overflow.
ANALYSIS:
========
If the hostname of the connecting host is greater than
HOSTNAME_LENGTH (60 chars), copying the hostname to the
performance schema table field which is limited to
HOSTNAME_LENGTH characters results in a crash.
FIX:
===
The fix is to truncate the hostname to HOSTNAME_LENGTH
number of characters before adding them to the performance
schema tables which record host information and details.
This makes sure that the client connection is established
successfully.
commit e56af38d6fccfaa68f2077b5458a9ade29069400
Author: Arun Kuruvila <[email protected]>
Date: Fri Aug 18 11:44:17 2017 +0530
Bug#24337625: SYSSCHEMA.FN_FORMAT_PATH IS FAILING ON THE PB2
UNDO TABLESPACES RUN
This patch reverts commit b2a66dbc7856aac533364da6b3e598d83df0f936
commit 723b88834499f1da9ca82a85f549f34db1eebe9e
Author: Ole-Hjalmar Kristensen <[email protected]>
Date: Wed Aug 16 17:37:07 2017 +0200
Bug #25892493 GR XCOM SERVICE SEGFAULTS WHEN MORE THAN 1024 FILE DESCRIPTORS ARE IN USE
Switched from select to poll in task.c and inlined functions in
xdr_utils. The polling code now dynamically allocates as space for new
file descriptors, so the number is now in principle only limited by
the available memory. Added deinit functions. Fixed bugs in unpoll and
wake_all_io that caused task waiting for IO to not terminate because
the reference count never went to 0.
Added interface to WSAPoll on Windows.
commit 67a6c44ab3979c0dedec84199daf79d89d4f4436
Merge: 3a471f9 5775624
Author: Lars Tangvald <[email protected]>
Date: Wed Aug 16 09:39:59 2017 +0200
Merge branch 'mysql-5.6' into mysql-5.7
commit 5775624c527ebdbbd01f68ba4e721d77bf160b07
Author: Lars Tangvald <[email protected]>
Date: Tue Aug 15 12:22:46 2017 +0200
Cleanup debian/changelog to just have a generic link to online release notes.
commit 3a471f934fc06eb6da1ba5906223697f68e23342
Author: Erlend Dahl <[email protected]>
Date: Wed Aug 16 06:07:49 2017 +0200
Revert "WL#10820: Make keyring_okv support password encrypted private keys"
Revert on 5.7 since it broke the build.
commit 054944045faeb5b8873a4c2ec0d50ce5913ab6ca
Author: Allen Lai <[email protected]>
Date: Tue Aug 15 09:27:22 2017 +0800
Fixed bug#26595476 INCORRECT ERROR HANDLING IN ROW_IMPORT_FOR_MYSQL
Followup patch for fixing test case failure of table_encrypt_4.
We need make it for debug server only.
commit 2496f3376a4f757c17d88fc8e5834100c69fce70
Author: Ivo Roylev <[email protected]>
Date: Mon Aug 14 17:48:07 2017 +0300
WL#10820: Make keyring_okv support password encrypted private keys
The keys used to connect to a KMIP server can be extra protected with a password.
Add an extra file next to the key file holding the key password.
commit 1f9bf3e5be7d67dc5d60a3fbd630a8d4ed52f33c
Author: Allen Lai <[email protected]>
Date: Mon Aug 14 19:17:33 2017 +0800
Fixed bug#26595476 INCORRECT ERROR HANDLING IN ROW_IMPORT_FOR_MYSQL
We need to remove all the invalid code in these error handling code.
Approved by Sunny Bains <[email protected]>
RB: 17022
commit 6f36b230d76cd82a22d8a4673533d1f22e766d17
Author: Gleb Shchepa <[email protected]>
Date: Wed Aug 9 10:18:55 2017 +0400
WL#10837: Deprecate query cache
This patch is for 5.7.
commit b2a66dbc7856aac533364da6b3e598d83df0f936
Author: Arun Kuruvila <[email protected]>
Date: Mon Aug 14 12:10:43 2017 +0530
Bug#24337625: SYSSCHEMA.FN_FORMAT_PATH IS FAILING ON THE PB2
UNDO TABLESPACES RUN
Description: Mtr test, syschema.fn_format, is failing on PB2
platforms for "innodb_undo-2-debug" configuration where
"innodb_undo_tablespaces" is set to 2.
Analysis: For "innodb_undo-2-debug" configuration, the data
directory is pre installed with "innodb_undo_tablespaces=2".
This will create the innodb undo tablespaces inside the
default "innodb_undo_directory" path. But the mtr test,
"fn_format_path" uses its own innodb undo directory. So when
this test is run, it is failing to start the server throwing
the error, "[ERROR] InnoDB: Unable to open undo tablespace
'xxx'.". This happens because the innodb tablespaces are
created inside default "innodb_undo_directory" path and mtr
is checking for the tablespace inside the
"innodb_undo_directory" path specified by the test.
Fix: While starting the test, a custom data directory is
installed with appropriate "innodb_undo_tablespaces" and
"innodb_undo_directory".
commit 25de02c40b5dee6d268452eb89415be20e6f6a73
Merge: 8250978 cfaf4fe
Author: Ajo Robert <[email protected]>
Date: Fri Aug 11 16:52:29 2017 +0530
NULL Merge branch 'mysql-5.6' into mysql-5.7
commit cfaf4fe9cd52839a6169e328cae9ecdaa17d7a37
Author: Ajo Robert <[email protected]>
Date: Fri Aug 11 15:12:44 2017 +0530
Bug#25782811 5.6: WRONG RESULTS WITH MATERIALIZATION,
VIEWS
Backport of Bug#21566735 fix.
Analysis
=======
create_ref_for_key() fails due to table not available for
key_use when subquery optimization chooses materialization
strategy and have a ref access key to one of the materialized
table. This is due to JOIN::update_equalities_for_sjm() checks
for real_item() of the materialized table expression with key_use->val
of the primary table expresssion.
Fix
====
When comparing key_use from materialized tables use key_use->
val->real_item() instead of key_use->val.
commit 8250978f42c54e76a05d6830cbaad0369ac80521
Author: Ajo Robert <[email protected]>
Date: Fri Aug 11 14:21:09 2017 +0530
Bug#26129019 POSSIBLE UNINTENDED USAGE OF "KEYINFO" VARIABLE
Typo error. Replaced with proper variable.
commit 80c28c94f155d5dcd9b70da2059355221e4391ba
Merge: 1526859 3ec554b
Author: Nisha Gopalakrishnan <[email protected]>
Date: Thu Aug 10 11:53:00 2017 +0530
Merge branch 'mysql-5.6' into mysql-5.7
commit 3ec554b12ec9431227c04e0609e84ddc8a83d944
Author: Nisha Gopalakrishnan <[email protected]>
Date: Thu Aug 10 11:40:46 2017 +0530
BUG18985760 - "FAST" ALTER TABLE CHANGE ON ENUM COLUMN
TRIGGERS FULL TABLE REBUILD.
Fixing PB2 test failure which resurfaced due to missing
clean up.
commit 152685953e3f709a35cb7db98b4786b6c0590e83
Author: Sreeharsha Ramanavarapu <[email protected]>
Date: Thu Aug 10 10:09:05 2017 +0530
Bug #23169112: GCOLS: INCORRECT BEHAVIOR WITH QUERY USING
BATCHED KEY ACCESS
Issues:
-------
This problem occurs when:
1) Query is using Batched Key Access (BKA) optimization.
2) A virtual Generated Column (GC) is part of the join
buffer.
While creating the read_set for a table containing a
virtual GC, the corresponding base columns are also added.
With BKA, only the index values (which are already stored
in the storage engine) are read.
While copying the values from storage engine to the join
buffer, it is mistakenly assumed that both the base column
and the virtual GC are present in the record buffer. This
is not the case and this can lead to incorrect calculation
of the values.
Solution:
---------
Olav fixed a similar problem in Bug#21872184 for Block
Nested Loop optimization.
The fix is to unset from the table's read_set the base
columns, if they aren't independently required in the
query. Once the JOIN_CACHE's blob_ptr and field_descr
(these fields determine a column's presence in the join
buffer) are created, the read_set can be restored.
commit 9efb2aae67de5a8d9a6132db257dc1ec44f38d50
Author: Sreeharsha Ramanavarapu <[email protected]>
Date: Thu Aug 10 06:54:37 2017 +0530
Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
LEFT JOIN(SUBQUERY) AND ORDER BY
Post-push fix to address failures in
funcs_1.innodb_views and funcs_1.memory_views
The call to const_for_execution (in trunk) and
const_item (in 5.7) has been replaced by their respective
content to avoid multiple and recursive calls to
used_tables. This can create a problem when Views are
created using other views
commit ee4fc83e8292de9d40a41cd54d43169d3d15f911
Author: Hemant Dangi <[email protected]>
Date: Tue Aug 8 19:45:25 2017 +0530
Bug#26519582: GR_SINGLE_PRIMARY_ASYNC_AFTER_GR_SECONDARY FAILING ON HUDSON
Issue:
======
The testcase failing because of concurrent DDL statement execution. The change
master which is executed on server2 is blocked by create table (initially
executed on server1) when applied on server2 as it had higher priority.
Solution:
=========
Move create table on server1 below change master statement on server2, so they
are not executed concurrently.
commit 8b2cbd0925e398706aa6c8370141a0314eb116a1
Author: Hemant Dangi <[email protected]>
Date: Tue Aug 8 19:11:41 2017 +0530