From: Date: March 25 2008 4:42pm Subject: bk commit into 5.1 tree (jonas:1.2535) BUG#34756 List-Archive: http://lists.mysql.com/commits/44410 X-Bug: 34756 Message-Id: <20080325154210.5E5341AE82@perch.localdomain> Below is the list of changes that have just been committed into a local 5.1 repository of jonas. When jonas does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2008-03-25 16:42:06+01:00, jonas@stripped +5 -0 ndb - bug#34756 - SR/NR can fail with "Error 630 during restore of TX" prevent same PK from getting different ROWID in same LCP storage/ndb/src/kernel/blocks/ERROR_codes.txt@stripped, 2008-03-25 16:42:05+01:00, jonas@stripped +1 -1 rename error code dur to conflict storage/ndb/src/kernel/blocks/backup/Backup.cpp@stripped, 2008-03-25 16:42:05+01:00, jonas@stripped +2 -2 rename error code dur to conflict storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp@stripped, 2008-03-25 16:42:05+01:00, jonas@stripped +1 -1 only use LCP_KEEP for DD tables storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp@stripped, 2008-03-25 16:42:05+01:00, jonas@stripped +17 -20 use partial LCP snapshot i.e so that same PK does not get different rowid in same LCP storage/ndb/test/ndbapi/testSystemRestart.cpp@stripped, 2008-03-25 16:42:05+01:00, jonas@stripped +2 -2 rename error code # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: jonas # Host: perch.ndb.mysql.com # Root: /home/jonas/src/51-telco-gca --- 1.42/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2008-03-25 16:42:10 +01:00 +++ 1.43/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2008-03-25 16:42:10 +01:00 @@ -8,7 +8,7 @@ Next DBDIH 7193 Next DBTC 8054 Next CMVMI 9000 -Next BACKUP 10038 +Next BACKUP 10041 Next DBUTIL 11002 Next DBTUX 12008 Next SUMA 13036 --- 1.65/storage/ndb/src/kernel/blocks/backup/Backup.cpp 2008-03-25 16:42:10 +01:00 +++ 1.66/storage/ndb/src/kernel/blocks/backup/Backup.cpp 2008-03-25 16:42:10 +01:00 @@ -356,7 +356,7 @@ return; } case BackupContinueB::ZDELAY_SCAN_NEXT: - if (ERROR_INSERTED(10036)) + if (ERROR_INSERTED(10039)) { jam(); sendSignalWithDelay(BACKUP_REF, GSN_CONTINUEB, signal, 300, @@ -4012,7 +4012,7 @@ req->batch_size_rows= 16; req->batch_size_bytes= 0; - if (ERROR_INSERTED(10036) && + if (ERROR_INSERTED(10039) && filePtr.p->tableId >= 2 && filePtr.p->operation.noOfRecords > 0) { --- 1.27/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2008-03-25 16:42:10 +01:00 +++ 1.28/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp 2008-03-25 16:42:10 +01:00 @@ -186,7 +186,7 @@ } if (! (bits & (Tuple_header::LCP_SKIP | Tuple_header::ALLOC)) && - lcpScan_ptr_i != RNIL) + lcpScan_ptr_i != RNIL && regTabPtr->m_no_of_disk_attributes > 0) { ljam(); ScanOpPtr scanOp; --- 1.17/storage/ndb/test/ndbapi/testSystemRestart.cpp 2008-03-25 16:42:10 +01:00 +++ 1.18/storage/ndb/test/ndbapi/testSystemRestart.cpp 2008-03-25 16:42:10 +01:00 @@ -1195,7 +1195,7 @@ return NDBT_FAILED; } - restarter.insertErrorInAllNodes(10036); // Hang LCP + restarter.insertErrorInAllNodes(10039); // Hang LCP CHECK(restarter.dumpStateAllNodes(dump, 1) == 0); while(ndb_logevent_get_next(handle, &event, 0) >= 0 && event.type != NDB_LE_LocalCheckpointStarted); @@ -1205,7 +1205,7 @@ return NDBT_FAILED; } - restarter.insertErrorInAllNodes(10037); // Resume LCP + restarter.insertErrorInAllNodes(10040); // Resume LCP while(ndb_logevent_get_next(handle, &event, 0) >= 0 && event.type != NDB_LE_LocalCheckpointCompleted); --- 1.26/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2008-03-25 16:42:10 +01:00 +++ 1.27/storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp 2008-03-25 16:42:10 +01:00 @@ -1127,30 +1127,27 @@ void Dbtup::execLCP_FRAG_ORD(Signal* signal) { + jamEntry(); LcpFragOrd* req= (LcpFragOrd*)signal->getDataPtr(); TablerecPtr tablePtr; tablePtr.i = req->tableId; ptrCheckGuard(tablePtr, cnoOfTablerec, tablerec); - if (tablePtr.p->m_no_of_disk_attributes) - { - jam(); - FragrecordPtr fragPtr; - Uint32 fragId = req->fragmentId; - fragPtr.i = RNIL; - getFragmentrec(fragPtr, fragId, tablePtr.p); - ndbrequire(fragPtr.i != RNIL); - Fragrecord& frag = *fragPtr.p; - - ndbrequire(frag.m_lcp_scan_op == RNIL && c_lcp_scan_op != RNIL); - frag.m_lcp_scan_op = c_lcp_scan_op; - ScanOpPtr scanPtr; - c_scanOpPool.getPtr(scanPtr, frag.m_lcp_scan_op); - ndbrequire(scanPtr.p->m_fragPtrI == RNIL); - scanPtr.p->m_fragPtrI = fragPtr.i; - - scanFirst(signal, scanPtr); - scanPtr.p->m_state = ScanOp::First; - } + FragrecordPtr fragPtr; + Uint32 fragId = req->fragmentId; + fragPtr.i = RNIL; + getFragmentrec(fragPtr, fragId, tablePtr.p); + ndbrequire(fragPtr.i != RNIL); + Fragrecord& frag = *fragPtr.p; + + ndbrequire(frag.m_lcp_scan_op == RNIL && c_lcp_scan_op != RNIL); + frag.m_lcp_scan_op = c_lcp_scan_op; + ScanOpPtr scanPtr; + c_scanOpPool.getPtr(scanPtr, frag.m_lcp_scan_op); + ndbrequire(scanPtr.p->m_fragPtrI == RNIL); + scanPtr.p->m_fragPtrI = fragPtr.i; + + scanFirst(signal, scanPtr); + scanPtr.p->m_state = ScanOp::First; }