BUG#28804 Dbtc::releaseAbortResources() send returnsignal when exists. On failing to seize space in saveINDXATTRINFO, we need to send a reply back to API that we've aborted the txn. Previously we wouldn't send the reply, and the ultra-long timeout waiting for reply in NdbTransaction would be hit. This enables "instant" rollback and application notification. ===== ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 1.110 vs edited ===== Index: ndb-work/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp =================================================================== --- ndb-work.orig/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2007-06-29 17:35:57.311479506 +1000 +++ ndb-work/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2007-06-29 17:39:18.982972110 +1000 @@ -10489,7 +10489,9 @@ void Dbtc::releaseAbortResources(Signal* apiConnectptr.p->apiConnectstate = CS_ABORTING; apiConnectptr.p->abortState = AS_IDLE; releaseAllSeizedIndexOperations(apiConnectptr.p); - if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){ + if(apiConnectptr.p->returnsignal || + apiConnectptr.p->m_exec_flag || + apiConnectptr.p->apiFailState == ZTRUE){ jam(); bool ok = false; Uint32 blockRef = apiConnectptr.p->ndbapiBlockref;