From: Ole John Aske Date: March 6 2012 3:04pm Subject: bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (ole.john.aske:3594 to 3595) List-Archive: http://lists.mysql.com/commits/143108 Message-Id: <20120306150431.EDEF9242@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3595 Ole John Aske 2012-03-06 SPJ error handling: Fixed incorrect check for 'state == RUNNING'. As state can be both RUNNING and ABORTING, we have to change these test to '!= ABORTING' modified: storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp 3594 Ole John Aske 2012-03-06 SPJ error handling, Followup to previous commit: Take advantage of that DEBUG_CRASH() is not any longer used in case of (simulated) 'out of memory' errors. Inserted errors can then be cleared immediately, and the later 'CLEAR_ERROR_INSERT_VALUE' in Dbspj::cleanup() becomes obsolete. modified: storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp === modified file 'storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp' --- a/storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp 2012-03-06 12:41:18 +0000 +++ b/storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp 2012-03-06 15:04:01 +0000 @@ -3191,7 +3191,7 @@ Dbspj::lookup_execTRANSID_AI(Signal* sig for (list.first(it); !it.isNull(); list.next(it)) { - if (likely(requestPtr.p->m_state & Request::RS_RUNNING)) + if (likely((requestPtr.p->m_state & Request::RS_ABORTING) == 0)) { jam(); Ptr childPtr; @@ -3245,7 +3245,7 @@ Dbspj::lookup_execLQHKEYREF(Signal* sign * terminate the query execution, or a 'soft error' which * should be signaled NDBAPI, and execution continued. */ - if (likely(requestPtr.p->m_state & Request::RS_RUNNING)) + if (likely((requestPtr.p->m_state & Request::RS_ABORTING) == 0)) { switch(errCode){ case 626: // 'Soft error' : Row not found @@ -4210,7 +4210,7 @@ Dbspj::scanFrag_execTRANSID_AI(Signal* s for (list.first(it); !it.isNull(); list.next(it)) { - if (likely(requestPtr.p->m_state & Request::RS_RUNNING)) + if (likely((requestPtr.p->m_state & Request::RS_ABORTING) == 0)) { jam(); Ptr childPtr; @@ -5592,7 +5592,7 @@ Dbspj::scanIndex_execTRANSID_AI(Signal* for (list.first(it); !it.isNull(); list.next(it)) { - if (likely(requestPtr.p->m_state & Request::RS_RUNNING)) + if (likely((requestPtr.p->m_state & Request::RS_ABORTING) == 0)) { jam(); Ptr childPtr; No bundle (reason: useless for push emails).