Skip to content

After one xa transaction is abnormal submitted,the next will return error #332

@FlyingMao

Description

@FlyingMao

steps:

mysql> set autocommit=0;
Query OK, 0 rows affected (0.02 sec)

mysql> set xa=on;
Query OK, 0 rows affected (0.00 sec)

mysql> update a_test set pad=66;
Query OK, 6 rows affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> commit;/*restart one of dble nodes*/
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql> set autocommit=0;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    2
Current database: mytest

Query OK, 0 rows affected (0.02 sec)

mysql> set xa=on;
Query OK, 0 rows affected (0.01 sec)

mysql> select * from a_test;
+----+------+---------------+-----+
| id | t_id | name          | pad |
+----+------+---------------+-----+
|  1 |    1 | test中id为1   |  66 |
|  5 |    5 | test...5      |  66 |
|  3 |    3 | test中id为3   |  66 |
|  4 |    4 | $test$4       |  66 |
|  2 |    2 | test_2        |  66 |
|  6 |    6 | test6         |  66 |
+----+------+---------------+-----+
6 rows in set (0.04 sec)

mysql> update a_test set pad=88;
Query OK, 6 rows affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> commit;
ERROR 2013 (HY000): Lost connection to MySQL server during query

logs:

2017-11-20 14:01:19.489 DEBUG [Timer0] (com.actiontech.dble.server.NonBlockingSession.clearResources(NonBlockingSession.java:586)) - clear session resources com.actiontech.dble.server.NonBlockingSession@2bc46234
2017-11-20 14:01:19.490 DEBUG [Timer0] (com.actiontech.dble.net.NIOSocketWR.doNextWriteCheck(NIOSocketWR.java:62)) - caught err:
java.nio.channels.ClosedChannelException: null
	at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:249) ~[?:1.7.0_05]
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:440) ~[?:1.7.0_05]
	at com.actiontech.dble.net.NIOSocketWR.write0(NIOSocketWR.java:102) ~[dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.net.NIOSocketWR.doNextWriteCheck(NIOSocketWR.java:46) [dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.net.AbstractConnection.write(AbstractConnection.java:409) [dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.server.NonBlockingSession.commit(NonBlockingSession.java:309) [dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.backend.mysql.xa.XASessionCheck.checkCommitSession(XASessionCheck.java:39) [dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.backend.mysql.xa.XASessionCheck.checkSessions(XASessionCheck.java:31) [dble-2.17.11.0-dev.jar:?]
	at com.actiontech.dble.DbleServer$5$1.run(DbleServer.java:747) [dble-2.17.11.0-dev.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [?:1.7.0_05]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [?:1.7.0_05]
	at java.lang.Thread.run(Thread.java:722) [?:1.7.0_05]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions