[MDEV-21844] Multi-Value Insert with duplicate keys results in out-of-sync replication Created: 2020-02-28 Updated: 2023-04-27 |
|
| Status: | Confirmed |
| Project: | MariaDB Server |
| Component/s: | Data Manipulation - Insert |
| Affects Version/s: | 10.0, 10.1, 10.3.14, 10.2, 10.3, 10.4 |
| Fix Version/s: | 10.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Daniel Ragle | Assignee: | Andrei Elkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | duplicate_key, insert, replication | ||
| Environment: |
CentOS 7 |
||
| Description |
|
With replication setup as A => B => C, and a MyISAM table with only an id field as a primary key, executing these statements on A
of course results in a duplicate key error on the second statement, but not until after keys 6 and 5 are already written. The two statements are then sent to Slave B, with the same result; I.E., the tables on A and B now each have the same 6 rows. However, Slave B does not pass the second statement on to Slave C at all (never hits the Slave B binlog). So Slave C only has 4 rows. Additionally, I see no errors or messages in the Slave B log to indicate that the statement resulted in duplicate key errors, nor that the statement was not replicated. sql_mode is blank on all three servers, and slave_skip_errors is OFF. Also, binlog_format is MIXED. Is this expected/intended behavior, and is it documented somewhere that I could take a look? |
| Comments |
| Comment by Alice Sherepa [ 2020-03-02 ] | ||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks! The behaviour reproducible on 10.0-10.5, with mixed and statement binlog formats.
|