Bug #81660 | Replication err "Cannot replicate anonymous transaction when AUTO_POSITION = 1" | ||
---|---|---|---|
Submitted: | 31 May 2016 15:38 | Modified: | 24 Apr 2020 19:22 |
Reporter: | Amit Bhansali | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S1 (Critical) |
Version: | 5.7.11 | OS: | CentOS (2.6.32-431.29.2.el6.x86_64) |
Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
Tags: | Multi channel, multi master replication |
[31 May 2016 15:38]
Amit Bhansali
[7 Sep 2018 6:47]
Andrey Golodyaev
Hi. I have the same problem. I have a topology like this: 40 (master) -> 50 (slave) -> 51 (slave) 40: server_uuid: a716608f-b1d4-11e8-a520-005056814b41 50: server_uuid: ac3bd429-b02e-11e8-8fbb-00505681e932 51: server_uuid: c50cbcc0-b041-11e8-b0e3-005056812f16 Step to reproduse: 1) Create memory table on master server (40) 2) Stop intermediate server (50) 3) Put some data on master server (40) 4) Start intermediate server (50) 5) Replication is breaks down on slave (51) behind intermediate server (50) binlog from server 40: =================================================== # mysqlbinlog --verbose --base64-output=decode-rows /database-logs/bin/log-bin.000001 --start-position=154 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 154 #180906 17:54:53 server id 40 end_log_pos 219 CRC32 0x52ed3b76 GTID last_committed=0 sequence_number=1 rbr_only=yes /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/; SET @@SESSION.GTID_NEXT= 'a716608f-b1d4-11e8-a520-005056814b41:1'/*!*/; # at 219 #180906 17:54:53 server id 40 end_log_pos 296 CRC32 0x236062f0 Query thread_id=307 exec_time=0 error_code=0 SET TIMESTAMP=1536245693/*!*/; SET @@session.pseudo_thread_id=307/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SET @@session.sql_mode=1436549152/*!*/; SET @@session.auto_increment_increment=2, @@session.auto_increment_offset=1/*!*/; /*!\C utf8mb4 *//*!*/; SET @@session.character_set_client=45,@@session.collation_connection=224,@@session.collation_server=8/*!*/; SET @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; BEGIN /*!*/; # at 296 #180906 17:54:53 server id 40 end_log_pos 344 CRC32 0xf28bf74e Table_map: `test`.`test` mapped to number 128 # at 344 #180906 17:54:53 server id 40 end_log_pos 388 CRC32 0xb58c6451 Write_rows: table id 128 flags: STMT_END_F ### INSERT INTO `test`.`test` ### SET ### @1=1 ### @2=1 # at 388 #180906 17:54:53 server id 40 end_log_pos 466 CRC32 0x759fcf23 Query thread_id=307 exec_time=0 error_code=0 SET TIMESTAMP=1536245693/*!*/; COMMIT /*!*/; # at 466 #180906 17:55:34 server id 40 end_log_pos 531 CRC32 0xd072313b GTID last_committed=1 sequence_number=2 rbr_only=yes /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/; SET @@SESSION.GTID_NEXT= 'a716608f-b1d4-11e8-a520-005056814b41:2'/*!*/; # at 531 #180906 17:55:34 server id 40 end_log_pos 608 CRC32 0x0dbb7475 Query thread_id=337 exec_time=0 error_code=0 SET TIMESTAMP=1536245734/*!*/; BEGIN /*!*/; # at 608 #180906 17:55:34 server id 40 end_log_pos 656 CRC32 0x61c5e382 Table_map: `test`.`test` mapped to number 128 # at 656 #180906 17:55:34 server id 40 end_log_pos 700 CRC32 0xf6023bbc Write_rows: table id 128 flags: STMT_END_F ### INSERT INTO `test`.`test` ### SET ### @1=3 ### @2=2 # at 700 #180906 17:55:34 server id 40 end_log_pos 778 CRC32 0x1b716386 Query thread_id=337 exec_time=0 error_code=0 SET TIMESTAMP=1536245734/*!*/; COMMIT /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/; DELIMITER ; # End of log file /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/; =================================================== binlog from server 50: =================================================== # mysqlbinlog --verbose --base64-output=decode-rows /database-logs/bin/log-bin.000002 --start-position=484 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 484 #180906 17:55:34 server id 40 end_log_pos 549 CRC32 0x11e4af3a Anonymous_GTID last_committed=1 sequence_number=2 rbr_only=yes /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/; SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/; # at 549 #180906 17:55:34 server id 40 end_log_pos 617 CRC32 0x446c034c Query thread_id=337 exec_time=0 error_code=0 SET TIMESTAMP=1536245734/*!*/; SET @@session.pseudo_thread_id=337/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SET @@session.sql_mode=524288/*!*/; SET @@session.auto_increment_increment=2, @@session.auto_increment_offset=1/*!*/; /*!\C utf8mb4 *//*!*/; SET @@session.character_set_client=45,@@session.collation_connection=224,@@session.collation_server=8/*!*/; SET @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; BEGIN /*!*/; # at 617 #180906 17:55:34 server id 40 end_log_pos 665 CRC32 0x69827001 Table_map: `test`.`test` mapped to number 108 # at 665 #180906 17:55:34 server id 40 end_log_pos 709 CRC32 0x7ca358da Write_rows: table id 108 flags: STMT_END_F ### INSERT INTO `test`.`test` ### SET ### @1=3 ### @2=2 # at 709 #180906 17:55:34 server id 40 end_log_pos 778 CRC32 0xcba1ef0c Query thread_id=337 exec_time=0 error_code=0 SET TIMESTAMP=1536245734/*!*/; SET @@session.sql_mode=1436549152/*!*/; COMMIT /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/; DELIMITER ; # End of log file /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/; =================================================== Error message from server 51: =================================================== Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate anonymous transaction when AUTO_POSITION = 1, at file /database-logs/bin/log-bin.000002, position 484.; the first event '' at 4, the last event read from '/database-logs/bin/log-bin.000002' at 549, the last byte read from '/database-logs/bin/log-bin.000002' at 549.' ===================================================
[24 Mar 2020 19:22]
MySQL Verification Team
Hi, > All of these are running Percona MySQL 5.7 .11-4 binary. I am unable to reproduce this with MySQL 5.7.29 binary. Please check if you can reproduce this with our binaries and if you can not, report the bug to Percona, as you are using their binaries. If you can reproduce with MySQL 5.7.29 from https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz I'll revisit this bug, but after the first test, 5.7.29 did not have this bug. good health Bogdan
[25 Apr 2020 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".