Discussion:
[JIRA] Created: (MYO-94) Connector generates failures due to trying to rollback autocommit transaction
Robert Hodges (JIRA)
2009-06-24 00:28:47 UTC
Permalink
Connector generates failures due to trying to rollback autocommit transaction
-----------------------------------------------------------------------------

Key: MYO-94
URL: https://forge.continuent.org/jira/browse/MYO-94
Project: Tungsten Connector
Type: Bug

Versions: 0.6.7
Environment: MySQL 5.0.x (percona build)
Reporter: Robert Hodges
Assigned to: Gilles Rayrat
Fix For: 0.7


The connector under some circumstances generates exceptions due to trying to roll back auto-commit transactions. It seems we don't check the connection state during error handling. The error in this case seems to be associated with connection termination.

Here is the stack trace:

INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLProtocolHandler] - Error doing rollback transaction
INFO | jvm 2 | 2009/06/23 20:10:43 | com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.Connection.rollback(Connection.java:5257)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.continuent.tungsten.router.jdbc.TSRConnection.rollback(TSRConnection.java:340)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.preprocessQuery(MySQLProtocolHandler.java:873)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:514)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:266)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:222)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:104)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLConnectionHandler] - Reading from socket.
INFO | jvm 2 | 2009/06/23 20:10:43 | java.io.EOFException
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.io.DataInputStream.readByte(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.readPacket(MySQLConnectionHandler.java:148)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:103)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Gilles Rayrat (JIRA)
2009-06-26 13:28:46 UTC
Permalink
[ https://forge.continuent.org/jira/browse/MYO-94?page=comments#action_15621 ]

Gilles Rayrat commented on MYO-94:
----------------------------------

The point with this error is that the application issues an explicit rollback (as SQL request "rollback") in autocommit mode.
However, as mysql doesn't complain either in this case, myosotis should just remain silent and return OK
Post by Robert Hodges (JIRA)
Connector generates failures due to trying to rollback autocommit transaction
-----------------------------------------------------------------------------
Key: MYO-94
URL: https://forge.continuent.org/jira/browse/MYO-94
Project: Tungsten Connector
Type: Bug
Versions: 0.6.7
Environment: MySQL 5.0.x (percona build)
Reporter: Robert Hodges
Assignee: Gilles Rayrat
Fix For: 0.7
The connector under some circumstances generates exceptions due to trying to roll back auto-commit transactions. It seems we don't check the connection state during error handling. The error in this case seems to be associated with connection termination.
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLProtocolHandler] - Error doing rollback transaction
INFO | jvm 2 | 2009/06/23 20:10:43 | com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.Connection.rollback(Connection.java:5257)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.continuent.tungsten.router.jdbc.TSRConnection.rollback(TSRConnection.java:340)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.preprocessQuery(MySQLProtocolHandler.java:873)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:514)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:266)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:222)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:104)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLConnectionHandler] - Reading from socket.
INFO | jvm 2 | 2009/06/23 20:10:43 | java.io.EOFException
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.io.DataInputStream.readByte(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.readPacket(MySQLConnectionHandler.java:148)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:103)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Gilles Rayrat (JIRA)
2009-06-26 16:10:46 UTC
Permalink
[ https://forge.continuent.org/jira/browse/MYO-94?page=all ]

Gilles Rayrat closed MYO-94:
----------------------------

Resolution: Fixed

FIxed in SVN. Note that this only applies to configurations where manage.transactions.locally=true in connector.properties
Post by Robert Hodges (JIRA)
Connector generates failures due to trying to rollback autocommit transaction
-----------------------------------------------------------------------------
Key: MYO-94
URL: https://forge.continuent.org/jira/browse/MYO-94
Project: Tungsten Connector
Type: Bug
Versions: 0.6.7
Environment: MySQL 5.0.x (percona build)
Reporter: Robert Hodges
Assignee: Gilles Rayrat
Fix For: 0.7
The connector under some circumstances generates exceptions due to trying to roll back auto-commit transactions. It seems we don't check the connection state during error handling. The error in this case seems to be associated with connection termination.
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLProtocolHandler] - Error doing rollback transaction
INFO | jvm 2 | 2009/06/23 20:10:43 | com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.Connection.rollback(Connection.java:5257)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.continuent.tungsten.router.jdbc.TSRConnection.rollback(TSRConnection.java:340)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.preprocessQuery(MySQLProtocolHandler.java:873)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:514)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:266)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:222)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:104)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLConnectionHandler] - Reading from socket.
INFO | jvm 2 | 2009/06/23 20:10:43 | java.io.EOFException
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.io.DataInputStream.readByte(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.readPacket(MySQLConnectionHandler.java:148)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:103)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Gilles Rayrat (JIRA)
2010-02-08 19:53:47 UTC
Permalink
[ https://forge.continuent.org/jira/browse/MYO-94?page=all ]

Gilles Rayrat reopened MYO-94:
------------------------------


Re-opening to edit fix version
Post by Robert Hodges (JIRA)
Connector generates failures due to trying to rollback autocommit transaction
-----------------------------------------------------------------------------
Key: MYO-94
URL: https://forge.continuent.org/jira/browse/MYO-94
Project: Tungsten Connector
Type: Bug
Versions: 0.6.7
Environment: MySQL 5.0.x (percona build)
Reporter: Robert Hodges
Assignee: Gilles Rayrat
Fix For: 0.6.8
The connector under some circumstances generates exceptions due to trying to roll back auto-commit transactions. It seems we don't check the connection state during error handling. The error in this case seems to be associated with connection termination.
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLProtocolHandler] - Error doing rollback transaction
INFO | jvm 2 | 2009/06/23 20:10:43 | com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.Connection.rollback(Connection.java:5257)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.continuent.tungsten.router.jdbc.TSRConnection.rollback(TSRConnection.java:340)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.preprocessQuery(MySQLProtocolHandler.java:873)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:514)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:266)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:222)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:104)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLConnectionHandler] - Reading from socket.
INFO | jvm 2 | 2009/06/23 20:10:43 | java.io.EOFException
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.io.DataInputStream.readByte(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.readPacket(MySQLConnectionHandler.java:148)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:103)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Gilles Rayrat (JIRA)
2010-02-09 14:54:46 UTC
Permalink
[ https://forge.continuent.org/jira/browse/MYO-94?page=all ]

Gilles Rayrat closed MYO-94:
----------------------------

Resolution: Fixed
Post by Robert Hodges (JIRA)
Connector generates failures due to trying to rollback autocommit transaction
-----------------------------------------------------------------------------
Key: MYO-94
URL: https://forge.continuent.org/jira/browse/MYO-94
Project: Tungsten Connector
Type: Bug
Versions: 0.6.7
Environment: MySQL 5.0.x (percona build)
Reporter: Robert Hodges
Assignee: Gilles Rayrat
Fix For: 0.6.8
The connector under some circumstances generates exceptions due to trying to roll back auto-commit transactions. It seems we don't check the connection state during error handling. The error in this case seems to be associated with connection termination.
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLProtocolHandler] - Error doing rollback transaction
INFO | jvm 2 | 2009/06/23 20:10:43 | com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.mysql.jdbc.Connection.rollback(Connection.java:5257)
INFO | jvm 2 | 2009/06/23 20:10:43 | at com.continuent.tungsten.router.jdbc.TSRConnection.rollback(TSRConnection.java:340)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.preprocessQuery(MySQLProtocolHandler.java:873)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:514)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:266)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:222)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:104)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | ERROR [MySQLConnectionHandler] - Reading from socket.
INFO | jvm 2 | 2009/06/23 20:10:43 | java.io.EOFException
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.io.DataInputStream.readByte(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.readPacket(MySQLConnectionHandler.java:148)
INFO | jvm 2 | 2009/06/23 20:10:43 | at org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:103)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 2 | 2009/06/23 20:10:43 | at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Loading...