Bug #37158 Incorrect spurious 4011
Submitted: 3 Jun 2008 14:14 Modified: 2 Jul 2008 17:03
Reporter: Jonas Oreland
Status: Closed
Category:Server: NDBAPI Severity:S3 (Non-critical)
Version:* OS:Any
Assigned to: Jonas Oreland Target Version:

[3 Jun 2008 14:14] Jonas Oreland
Description:
In a execute(commit, ignore-error) where some operations
succeded and some failed, there is a race-condition
which might cause ndbapi to incorrectly report 4011 (internal error)
as it gets confused.

this is seen by pushbuild rpl_ndb.rpl_ndb_idempotent

the bug is "easy" to trigger using multi-threaded ndbmtd,
but can also be provoked using a "big" cluster (i got it with 8 nodes)

How to repeat:
will write clever test prg

Suggested fix:
.
[3 Jun 2008 14:36] 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/47363

2613 jonas@mysql.com	2008-06-03
      ndb - bug#37158
        ndbapi could get confused if tckeyref/tckeyconf came in not common
          order
[4 Jun 2008 15:58] 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/47437
[4 Jun 2008 15:58] 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/47439
[4 Jun 2008 15:59] 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/47440
[2 Jul 2008 8:57] Jonas Oreland
pushed into 6.3.16 and 6.2.16
[2 Jul 2008 17:03] Jon Stephens
Documented in the NDB 6.2.16 and 6.3.16 changelogs as follows:

        When some operations succeeded and some failed following a call to
        NdbTransaction::execute(Commit, AO_IgnoreOnError), a race condition
        could cause spurious occurrences of NDB API Error 4011 (internal error).
[13 Dec 2008 0:28] Bugs System
Pushed into 6.0.6-alpha  (revid:jonas@mysql.com-20080603123717-qs8pew8fku1wjvh1) (version
source revid:jonas@mysql.com-20080812185642-1nevjb94zj621dqx) (pib:5)