Bug #36756 deleting non exiting row inside transaction breaks transaction
Submitted: 16 May 2008 11:54 Modified: 30 May 2008 13:40
Reporter: Bogdan Kecman Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:ndb-6.x.x OS:Linux
Assigned to: Frazer Clement CPU Architecture:Any
Tags: transaction

[16 May 2008 11:54] Bogdan Kecman
Description:
deleting non exiting row inside transaction breaks transaction

How to repeat:
look at CSC 25934 for the test case

Suggested fix:
n/a
[16 May 2008 22:42] Bogdan Kecman
Here is the simple test case:

-- The problem is with TEXT field. If we remove TEXT field everything works ok
DROP TABLE `t1`;
CREATE TABLE `t1` (
  `f1` int(11) NOT NULL DEFAULT -1,
  `f11` text,
  UNIQUE KEY `i1` (`f1`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8;

INSERT INTO `t1` VALUES (123,NULL);

DROP TABLE `t2`;
CREATE TABLE `t2` (
  `f1` int(11) NOT NULL DEFAULT -1,
  UNIQUE KEY `i2` (`f1`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8;

BEGIN; delete from t1 where f1=123; delete from t2 where f1=5; COMMIT;
[21 May 2008 16:40] 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/46918

ChangeSet@1.2598, 2008-05-21 17:39:51+01:00, frazer@forth.ndb.mysql.com +5 -0
  Bug#36756 IgnoreError Delete of nonexisting tuple aborts
  
  Problem was that once a transaction handled Blobs, AbortOption was treated differently.
[21 May 2008 18:50] Jonas Oreland
great patch,
i love the testing
[21 May 2008 18:55] Bugs System
Pushed into 5.1.23-ndb-6.4.0
[21 May 2008 19:16] Bugs System
Pushed into 5.1.24-ndb-6.3.15
[21 May 2008 19:18] Bugs System
Pushed into 5.1.24-ndb-6.2.16
[30 May 2008 13:40] Jon Stephens
Documented in the 5.1.24-ndb-6.3.15 and 5.1.24-ndb-6.2.16 changelogs as follows:

        Attempting to delete a non-existent row from a table containing a TEXT
        or BLOB column within a transaction caused the transaction to fail.

Closed.
[12 Dec 2008 23:26] Bugs System
Pushed into 6.0.6-alpha  (revid:sp1r-frazer@forth.ndb.mysql.com-20080521163951-23571) (version source revid:jonas@mysql.com-20080808094047-4e1yiarqa2t3opg3) (pib:5)