#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 Oreland | 14 Sep |