List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:September 14 2010 9:25am
Subject:bzr commit into mysql-5.1-telco-6.3 branch (jonas:3290)
View as plain text  
#At file:///home/jonas/src/telco-6.3/ based on revid:jonas@stripped

 3290 Jonas Oreland	2010-09-14
      ndb - speedup DDL by using force send=1...this improves startup time for mysqld with many tables a lot

    modified:
      sql/ha_ndbcluster_binlog.cc
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
=== modified file 'sql/ha_ndbcluster_binlog.cc'
--- a/sql/ha_ndbcluster_binlog.cc	2010-09-14 06:45:13 +0000
+++ b/sql/ha_ndbcluster_binlog.cc	2010-09-14 09:25:48 +0000
@@ -1779,7 +1779,8 @@ ndbcluster_update_slock(THD *thd,
       r|= op->setValue(SCHEMA_TYPE_I, (uint32)SOT_CLEAR_SLOCK);
       DBUG_ASSERT(r == 0);
     }
-    if (trans->execute(NdbTransaction::Commit) == 0)
+    if (trans->execute(NdbTransaction::Commit, 
+                       NdbOperation::DefaultAbortOption, 1 /*force send*/) == 0)
     {
       DBUG_PRINT("info", ("node %d cleared lock on '%s.%s'",
                           node_id, db, table_name));
@@ -2135,7 +2136,8 @@ int ndbcluster_log_schema_op(THD *thd,
 #endif
       break;
     }
-    if (trans->execute(NdbTransaction::Commit) == 0)
+    if (trans->execute(NdbTransaction::Commit, NdbOperation::DefaultAbortOption,
+                       1 /* force send */) == 0)
     {
       DBUG_PRINT("info", ("logged: %s", query));
       dict->forceGCPWait(1);

=== modified file 'storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp'
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp	2010-09-13 14:25:36 +0000
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp	2010-09-14 09:25:48 +0000
@@ -2276,7 +2276,7 @@ NdbDictInterface::dictSignal(NdbApiSigna
     }    
     
     m_error.code= 0;
-    int ret_val= poll_guard.wait_n_unlock(timeout, node, wst);
+    int ret_val= poll_guard.wait_n_unlock(timeout, node, wst, true);
     // End of Protected area  
     
     if(ret_val == 0 && m_error.code == 0){
@@ -5449,7 +5449,8 @@ NdbDictInterface::listObjects(NdbApiSign
     }
     m_error.code= 0;
     int ret_val= poll_guard.wait_n_unlock(DICT_WAITFOR_TIMEOUT,
-                                          aNodeId, WAIT_LIST_TABLES_CONF);
+                                          aNodeId, WAIT_LIST_TABLES_CONF,
+                                          true);
     // end protected
     if (ret_val == 0 && m_error.code == 0)
       return 0;
@@ -5619,6 +5620,8 @@ NdbDictInterface::forceGCPWait(int type)
         m_transporter->unlock_mutex();
         continue;
       }
+
+      m_transporter->forceSend(refToBlock(m_reference));
       m_transporter->unlock_mutex();
     }
     return 0;


Attachment: [text/bzr-bundle] bzr/jonas@mysql.com-20100914092548-ggkrbwnndtdkw1pl.bundle
Thread
bzr commit into mysql-5.1-telco-6.3 branch (jonas:3290) Jonas Oreland14 Sep