Bug #27722 Problem with update conflict resolution
Submitted: 9 Apr 2007 21:01 Modified: 20 Apr 2007 15:01
Reporter: Alexey Stroganov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:5.2.4-pb475 OS:Any
Assigned to: Jim Starkey CPU Architecture:Any

[9 Apr 2007 21: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 15: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 15:44] Hakan Küçükyılmaz
Added test case falcon_bug_27722.test and pushed into 5.1-falcon tree.

Regards,

Hakan
[14 Apr 2007 1:01] Hakan Küçükyılmaz
falcon_bug_27722               [ pass ]             15

Test passes now. Bug should be fixed.

Best regards,

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