From: Frazer Clement Date: January 17 2012 3:53pm Subject: bzr push into mysql-5.1-telco-7.1 branch (frazer.clement:4415 to 4416) List-Archive: http://lists.mysql.com/commits/142439 Message-Id: <201201171553.q0HFrWkI021931@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4416 Frazer Clement 2012-01-17 [merge] Merge 7.0->7.1 modified: mysql-test/suite/ndb_rpl/t/show_mysqld_warnings.inc storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 4415 Frazer Clement 2012-01-17 [merge] Merge 7.0->7.1 added: mysql-test/suite/ndb_rpl/t/show_mysqld_warnings.inc modified: mysql-test/suite/ndb_rpl/r/ndb_rpl_conflict.result mysql-test/suite/ndb_rpl/r/ndb_rpl_rep_error.result mysql-test/suite/ndb_rpl/t/ndb_rpl_conflict.test mysql-test/suite/ndb_rpl/t/ndb_rpl_conflict_epoch.test mysql-test/suite/ndb_rpl/t/ndb_rpl_rep_error.test sql/ha_ndbcluster.cc sql/ha_ndbcluster.h sql/ha_ndbcluster_binlog.cc sql/ha_ndbcluster_binlog.h === modified file 'mysql-test/suite/ndb_rpl/t/show_mysqld_warnings.inc' --- a/mysql-test/suite/ndb_rpl/t/show_mysqld_warnings.inc 2012-01-17 13:51:35 +0000 +++ b/mysql-test/suite/ndb_rpl/t/show_mysqld_warnings.inc 2012-01-17 15:41:38 +0000 @@ -2,7 +2,7 @@ --echo MySQLD error output for server $server_num matching pattern $pattern create table errlog (a int auto_increment primary key, txt text) engine=myisam; ---eval load data local infile "$MYSQLTEST_VARDIR/log/mysqld.$server_num.err" into table errlog (txt); +--eval load data local infile "$MYSQLTEST_VARDIR/log/mysqld.$server_num.err" into table errlog columns terminated by '\n' (txt); --eval select replace( lower( right(txt, length(txt) - locate('[',txt) + 1)), '\r', '') as relevant from errlog where txt like '$pattern' order by a desc limit $limit; === modified file 'storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp' --- a/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2011-12-13 18:32:26 +0000 +++ b/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2012-01-17 15:44:25 +0000 @@ -1484,10 +1484,11 @@ private: void handleScanStop(Signal* signal, UintR aFailedNode); void initScanTcrec(Signal* signal); Uint32 initScanrec(ScanRecordPtr, const class ScanTabReq*, - const UintR scanParallel, - const UintR noOprecPerFrag, - const Uint32 aiLength, - const Uint32 keyLength); + const UintR scanParallel, + const UintR noOprecPerFrag, + const Uint32 aiLength, + const Uint32 keyLength, + const Uint32 apiPtr[]); void initScanfragrec(Signal* signal); void releaseScanResources(Signal*, ScanRecordPtr, bool not_started = false); ScanRecordPtr seizeScanrec(Signal* signal); @@ -1940,10 +1941,9 @@ private: UintR tconfig1; UintR tconfig2; - UintR cdata[32]; UintR ctransidFailHash[512]; UintR ctcConnectFailHash[1024]; - + /** * Commit Ack handling */ === modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp' --- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-01-17 07:57:37 +0000 +++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-01-17 15:44:25 +0000 @@ -8382,7 +8382,8 @@ void Dbtc::execNODE_FAILREP(Signal* sign cfailure_nr = nodeFail->failNo; const Uint32 tnoOfNodes = nodeFail->noOfNodes; const Uint32 tnewMasterId = nodeFail->masterNodeId; - + Uint32 cdata[MAX_NDB_NODES]; + arrGuard(tnoOfNodes, MAX_NDB_NODES); Uint32 i; int index = 0; @@ -10415,7 +10416,8 @@ void Dbtc::execSCAN_TABREQ(Signal* signa SectionHandle handle(this, signal); SegmentedSectionPtr api_op_ptr; handle.getSection(api_op_ptr, 0); - copy(&cdata[0], api_op_ptr); + Uint32 * apiPtr = signal->theData+25; // temp storage + copy(apiPtr, api_op_ptr); Uint32 aiLength= 0; Uint32 keyLen= 0; @@ -10541,7 +10543,8 @@ void Dbtc::execSCAN_TABREQ(Signal* signa ndbrequire(transP->apiScanRec == RNIL); ndbrequire(scanptr.p->scanApiRec == RNIL); - errCode = initScanrec(scanptr, scanTabReq, scanParallel, noOprecPerFrag, aiLength, keyLen); + errCode = initScanrec(scanptr, scanTabReq, scanParallel, noOprecPerFrag, + aiLength, keyLen, apiPtr); if (unlikely(errCode)) { jam(); @@ -10649,7 +10652,8 @@ Dbtc::initScanrec(ScanRecordPtr scanptr, UintR scanParallel, UintR noOprecPerFrag, Uint32 aiLength, - Uint32 keyLength) + Uint32 keyLength, + const Uint32 apiPtr[]) { const UintR ri = scanTabReq->requestInfo; scanptr.p->scanTcrec = tcConnectptr.i; @@ -10701,7 +10705,7 @@ Dbtc::initScanrec(ScanRecordPtr scanptr, ptr.p->scanFragState = ScanFragRec::IDLE; ptr.p->scanRec = scanptr.i; ptr.p->scanFragId = 0; - ptr.p->m_apiPtr = cdata[i]; + ptr.p->m_apiPtr = apiPtr[i]; }//for (* (ScanTabReq::getRangeScanFlag(ri) ? No bundle (reason: useless for push emails).