aborted query can return successful sql status

Bug #519727 reported by Seppo Jaakola
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
Fix Released
Critical
Seppo Jaakola

Bug Description

It can happen, that a transaction, which was aborted by high priority transaction, will result success code to the client. This seems to happen only when the aborted transaction was in idle state when aborted.

To reproduce, start two nodes use two connections, targeted at separate nodes, and proceed as follows:

mysql-1> create table t (i int) engine=innodb;
mysql-1> insert into t values (1);
mysql-1> begin;
mysql-1> update t set i=2 where i=1;

mysql-2> delete from t where i=1;

mysql-1> commit;

Commit in session 1 will return success code, although transaction was aborted.

Changed in codership-mysql:
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Seppo Jaakola (seppo-jaakola)
milestone: none → 0.7.3
Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

This seems to relate to the retry autocommit feature. If my.cnf has:

wsrep_retry_autocommit=0

, then the problem does not reproduce

Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

A fix was committed (CS 2957).
Setting BF abort immunity was made too late, and an aborted idle multi-statement transaction could be defined as retry'able. This avoided returning error code. However, retrying did not happen either, just successful return for client.

Changed in codership-mysql:
status: In Progress → Fix Committed
Changed in codership-mysql:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.