Bug #27722 Problem with update conflict resolution
Submitted: 9 Apr 2007 23:01 Modified: 20 Apr 2007 17:01
Reporter: Alexey Stroganov
Status: Closed
Category:Server: Falcon Severity:S2 (Serious)
Version:5.2.4-pb475 OS:Any
Assigned to: Bugs System Target Version:

[9 Apr 2007 23:01] Alexey Stroganov
Description:
it is impossible to update two different rows in two different transactions(T1,T2) with
following scenario:

create table t1_falcon(a int) engine=falcon;
insert into t1_falcon values (1),(5),(10),(15);

T1: begin;
T1: update t1_falcon set a=6 where a=5;

T2: begin;
T2: update t1_falcon set a=16 where a=15;
T2: ...hangs

T1: commit;
T2: ERROR 1020 (HY000): Record has changed since last read in table 't1_falcon'

How to repeat:
Try steps below:

create table t1_falcon(a int) engine=falcon;
insert into t1_falcon values (1),(5),(10),(15);

T1: begin;
T1: update t1_falcon set a=6 where a=5;

T2: begin;
T2: update t1_falcon set a=16 where a=15;
T2: ...hangs

T1: commit;
T2: ERROR 1020 (HY000): Record has changed since last read in table 't1_falcon'
[10 Apr 2007 17:44] 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/commits/24186

ChangeSet@1.2573, 2007-04-10 17:43:16+02:00, hakank@lu0011.wdf.sap.corp +3 -0
  Added test for BUG#27722.
[10 Apr 2007 17:44] Hakan Kuecuekyilmaz
Added test case falcon_bug_27722.test and pushed into 5.1-falcon tree.

Regards,

Hakan
[14 Apr 2007 3:01] Hakan Kuecuekyilmaz
falcon_bug_27722               [ pass ]             15

Test passes now. Bug should be fixed.

Best regards,

Hakan
[20 Apr 2007 17:01] MC Brown
A note has been added to the 5.2.4 changelog.