List:Commits« Previous MessageNext Message »
From:jonas Date:March 25 2008 4:42pm
Subject:bk commit into 5.1 tree (jonas:1.2535) BUG#34756
View as plain text  
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;
 }
Thread
bk commit into 5.1 tree (jonas:1.2535) BUG#34756jonas25 Mar 2008