List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:November 26 2008 11:38am
Subject:bzr push into mysql-5.1 branch (jonas:3130 to 3132)
View as plain text  
 3132 Jonas Oreland	2008-11-26
      ndb - make primary replicas are distributed evenly among threads
modified:
  storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp

 3131 Jonas Oreland	2008-11-26
      ndb - reduce no of calls to checkJobBuffers on platforms wo/ epoll
modified:
  storage/ndb/src/common/transporter/TransporterRegistry.cpp

 3130 Jonas Oreland	2008-11-25
      ndb - try to fix build on powermac, by changing some externs...
modified:
  sql/ha_ndbcluster_connection.cc
  sql/mysqld.cc
  sql/set_var.cc
  storage/ndb/include/util/ndb_opts.h
  storage/ndb/src/common/util/ndb_opts.c

=== modified file 'storage/ndb/src/common/transporter/TransporterRegistry.cpp'
--- a/storage/ndb/src/common/transporter/TransporterRegistry.cpp	2008-11-25 17:02:56 +0000
+++ b/storage/ndb/src/common/transporter/TransporterRegistry.cpp	2008-11-26 10:36:20 +0000
@@ -1065,9 +1065,9 @@ TransporterRegistry::get_tcp_data(TCP_Tr
 {
   const NodeId node_id = t->getRemoteNodeId();
   bool hasdata = false;
-  callbackObj->checkJobBuffer();
   if (is_connected(node_id) && t->isConnected())
   {
+    callbackObj->checkJobBuffer();
     t->doReceive();
     
     Uint32 *ptr;
@@ -1115,7 +1115,6 @@ TransporterRegistry::performReceive()
   {
     for (int i=0; i<nTCPTransporters; i++) 
     {
-      callbackObj->checkJobBuffer();
       TCP_Transporter *t = theTCPTransporters[i];
       const NodeId nodeId = t->getRemoteNodeId();
       const NDB_SOCKET_TYPE socket    = t->getSocket();
@@ -1129,6 +1128,7 @@ TransporterRegistry::performReceive()
           
           if (t->hasReceiveData())
           {
+            callbackObj->checkJobBuffer();
             Uint32 * ptr;
             Uint32 sz = t->getReceiveData(&ptr);
             callbackObj->transporter_recv_from(nodeId);
@@ -1146,18 +1146,18 @@ TransporterRegistry::performReceive()
   //do prepareReceive on the SCI transporters  (prepareReceive(t,,,,))
   for (int i=0; i<nSCITransporters; i++) 
   {
-    callbackObj->checkJobBuffer();
     SCI_Transporter  *t = theSCITransporters[i];
     const NodeId nodeId = t->getRemoteNodeId();
     if(is_connected(nodeId))
     {
       if(t->isConnected() && t->checkConnected())
       {
-	Uint32 * readPtr, * eodPtr;
-	t->getReceivePtr(&readPtr, &eodPtr);
-	callbackObj->transporter_recv_from(nodeId);
-	Uint32 *newPtr = unpack(readPtr, eodPtr, nodeId, ioStates[nodeId]);
-	t->updateReceivePtr(newPtr);
+        callbackObj->checkJobBuffer();
+        Uint32 * readPtr, * eodPtr;
+        t->getReceivePtr(&readPtr, &eodPtr);
+        callbackObj->transporter_recv_from(nodeId);
+        Uint32 *newPtr = unpack(readPtr, eodPtr, nodeId, ioStates[nodeId]);
+        t->updateReceivePtr(newPtr);
       }
     } 
   }
@@ -1165,17 +1165,17 @@ TransporterRegistry::performReceive()
 #ifdef NDB_SHM_TRANSPORTER
   for (int i=0; i<nSHMTransporters; i++) 
   {
-    callbackObj->checkJobBuffer();
     SHM_Transporter *t = theSHMTransporters[i];
     const NodeId nodeId = t->getRemoteNodeId();
     if(is_connected(nodeId)){
       if(t->isConnected() && t->checkConnected())
       {
-	Uint32 * readPtr, * eodPtr;
-	t->getReceivePtr(&readPtr, &eodPtr);
-	callbackObj->transporter_recv_from(nodeId);
-	Uint32 *newPtr = unpack(readPtr, eodPtr, nodeId, ioStates[nodeId]);
-	t->updateReceivePtr(newPtr);
+        callbackObj->checkJobBuffer();
+        Uint32 * readPtr, * eodPtr;
+        t->getReceivePtr(&readPtr, &eodPtr);
+        callbackObj->transporter_recv_from(nodeId);
+        Uint32 *newPtr = unpack(readPtr, eodPtr, nodeId, ioStates[nodeId]);
+        t->updateReceivePtr(newPtr);
       }
     } 
   }

=== modified file 'storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2008-11-16 15:27:09 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2008-11-26 10:37:25 +0000
@@ -7018,7 +7018,7 @@ void Dbdih::execCREATE_FRAGMENTATION_REQ
         }
         const Uint32 max = NGPtr.p->nodeCount;
 	
-	fragments[count++] = NGPtr.p->m_next_log_part++; // Store logpart first
+	fragments[count++] = (NGPtr.p->m_next_log_part++ / cnoReplicas); // Store logpart first
 	Uint32 tmp= next_replica_node[NGPtr.i];
         for(Uint32 replicaNo = 0; replicaNo < noOfReplicas; replicaNo++)
         {

Thread
bzr push into mysql-5.1 branch (jonas:3130 to 3132) Jonas Oreland26 Nov