[MDEV-18175] table id overflow causes replication out of sync Created: 2019-01-09 Updated: 2019-03-05 Resolved: 2019-01-10 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.1.22 |
| Fix Version/s: | 10.1.38 |
| Type: | Bug | Priority: | Minor |
| Reporter: | wy | Assignee: | Andrei Elkin |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Environment: |
debian 8.2 |
||
| Issue Links: |
|
||||||||
| Description |
|
When binglog_format is "row", DML statements would have a Table_map_event in binlog; each Table_map_event would have a table_id; the table_id is represented as ulong in binlog, while read into TABLE_LIST.table_id in slave, which is of type uint, so if table_id is larger than 2^32, it would cause type overflow, and those events in relay log would be silently skipped, hence causing data inconsistency between master and slave. |
| Comments |
| Comment by Andrei Elkin [ 2019-01-09 ] |
|
This seems impractical to hit as the id 's life time is server life time. |
| Comment by Andrei Elkin [ 2019-01-10 ] |
|
See |