Bug #12162 XA transactions and recovery - problem with transaction IDs
| Submitted: | 25 Jul 2005 19:33 | Modified: | 16 Aug 2005 4:10 |
|---|---|---|---|
| Reporter: | Tonda David | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.07 | OS: | Linux (Linux (Fedora core3 / Red Hat)) |
| Assigned to: | Sergei Golubchik | CPU Architecture: | Any |
[25 Jul 2005 19:33]
Tonda David
[26 Jul 2005 6:54]
Jan Lindström
Thank you for your bug report. I was able to repeat this bug using 5.0.11.
jan@hundin:~/mysql-5.0/client> ./mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.11-beta-debug-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Database changed
mysql> create table t1(a int) engine = innodb;
Query OK, 0 rows affected (0.02 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> xa start 'test';
Query OK, 0 rows affected (0.01 sec)
mysql> insert into t1 values(5);
Query OK, 1 row affected (0.00 sec)
mysql> xa end 'test';
Query OK, 0 rows affected (0.00 sec)
mysql> xa prepare 'test';
Query OK, 0 rows affected (0.00 sec)
jan@hundin:~/mysql-5.0/client> ./mysql test -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.11-beta-debug-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> xa start 'test';
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 values(5);
Query OK, 1 row affected (0.00 sec)
mysql> xa end 'test';
Query OK, 0 rows affected (0.00 sec)
mysql> xa prepare 'test';
Query OK, 0 rows affected (0.00 sec)
InnoDB: Starting in background the rollback of uncommitted transactions
050726 8:44:59 InnoDB: Rollback of non-prepared transactions completed
050726 8:44:59 InnoDB: Started; log sequence number 0 47724
050726 8:44:59 [Note] Recovering after a crash using binlog
050726 8:44:59 [Note] Starting crash recovery...
050726 8:44:59 InnoDB: Starting recovery for XA transactions...
050726 8:44:59 InnoDB: Transaction 0 1280 in prepared state after recovery
050726 8:44:59 InnoDB: Transaction contains changes to 1 rows
050726 8:44:59 InnoDB: Transaction 0 770 in prepared state after recovery
050726 8:44:59 InnoDB: Transaction contains changes to 1 rows
050726 8:44:59 InnoDB: 2 transactions in prepared state after recovery
050726 8:44:59 [Note] Found 2 prepared transaction(s) in InnoDB
050726 8:44:59 [Note] ignore xid 'test'
050726 8:44:59 [Note] ignore xid 'test'
050726 8:44:59 [Warning] Found 2 prepared XA transactions
050726 8:44:59 [Note] Crash recovery finished.
050726 8:44:59 InnoDB: Starting recovery for XA transactions...
050726 8:44:59 InnoDB: Transaction 0 1280 in prepared state after recovery
050726 8:44:59 InnoDB: Transaction contains changes to 1 rows
050726 8:44:59 InnoDB: Transaction 0 770 in prepared state after recovery
050726 8:44:59 InnoDB: Transaction contains changes to 1 rows
050726 8:44:59 InnoDB: 2 transactions in prepared state after recovery
050726 8:44:59 [Note] Found 2 prepared transaction(s) in InnoDB
050726 8:44:59 [Note] ignore xid 'test'
050726 8:44:59 [Note] ignore xid 'test'
050726 8:44:59 [Warning] Found 2 prepared XA transactions
This bug is most probable in MySQL Server because it should not support starting two XA transactions with identical XID.
Regards,
JanL
[12 Aug 2005 19:22]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/28233
[13 Aug 2005 6:55]
Sergei Golubchik
fixed in 5.0.12
[16 Aug 2005 4:10]
Mike Hillyer
Documented 5.0.12 changelog: <literal>XA</literal> allowed two active transactions to be started with the same XID. (Bug #12162)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.