Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
-
None
Description
There are two causes requiring that.
1. Engine understanding of the member has been of 4 bytes, at least in Innodb case:
CREATE TABLE `ti` (
|
`a` int(11) DEFAULT NULL
|
) ENGINE=InnoDB;
|
xa start '1','2',4611686018427387905;
|
insert into ti set a=1;
|
xa end '1','2',4611686018427387905;
|
xa prepare '1','2',4611686018427387905;
|
xa recover;
|
+---------------------+--------------+--------------+------+
|
| formatID | gtrid_length | bqual_length | data |
|
+---------------------+--------------+--------------+------+
|
| 4611686018427387905 | 1 | 1 | 12 |
|
+---------------------+--------------+--------------+------+
|
--error crash
|
xa commit '1','2',4611686018427387905;
|
|
# restart mysqld
|
xa recover;
|
ERROR 2006 (HY000): MySQL server has gone away
|
No connection. Trying to reconnect...
|
Connection id: 4
|
Current database: test
|
|
+----------+--------------+--------------+------+
|
| formatID | gtrid_length | bqual_length | data |
|
+----------+--------------+--------------+------+
|
| 1 | 1 | 1 | 12 |
|
+----------+--------------+--------------+------+
|
|
2. and the 2nd reason is XA replication across different platforms which
mean different sizes for ulong specified entity. Constraining it to 4 satisfies them all.
Attachments
Issue Links
- blocks
-
MDEV-742 LP:803649 - Xa recovery failed on client disconnection
- Closed