From: Ole John Aske Date: February 22 2012 2:36pm Subject: bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (ole.john.aske:3588 to 3589) List-Archive: http://lists.mysql.com/commits/143031 Message-Id: <20120222143626.7E2C423E@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3589 Ole John Aske 2012-02-22 Fixed build break in previous commit. modified: storage/ndb/include/ndb_version.h.in 3588 Ole John Aske 2012-02-22 Fix for handling (partially) failed SPJ queries: Inspired by Maitrayis error injection, testing and patches it has become clear that: - We have to distinquish between 'soft' and 'hard' errors in our error handling. - 'Soft' errors (like 'row not found') should be signaled to API, but execution is allowed to continue. - 'Hard' errors should cause execution to ::abort(), and the Request entering ABORTING state. - When in ABORTING state, no further TreeNode execution should be started. - API should give up 'outstanding' counting when a hard error is received. Further signals will not be expected, if any arrives they should be silently ignored. These issues are addressed in this patch. Added the following error injection test cases: - Set invalid table version in LQHKEYREQ such that rewritten execLQHKEYREF is now tested. - Simulate that ::lookup_send() determines the destination LQH-node to not being 'alive', and thus immediately returns NodeFailure (error 20016) - Simulate 'OutOfQueryMemory' in lookup_parent_row(). modified: storage/ndb/include/ndb_version.h.in storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp storage/ndb/src/ndbapi/NdbQueryOperation.cpp storage/ndb/src/ndbapi/Ndbif.cpp storage/ndb/test/ndbapi/testSpj.cpp === modified file 'storage/ndb/include/ndb_version.h.in' --- a/storage/ndb/include/ndb_version.h.in 2012-02-22 14:03:58 +0000 +++ b/storage/ndb/include/ndb_version.h.in 2012-02-22 14:35:51 +0000 @@ -751,7 +751,7 @@ ndbd_fixed_lookup_query_abort(Uint32 x) { // Only experimental support of SPJ pre 7.2.0. // Assume we support 'fixed-abort' as we want it tested. - return true; + return 1; } return x >= NDBD_FIXED_LOOKUP_QUERY_ABORT_72; } No bundle (reason: useless for push emails).