diff options
author | unknown <tomas@poseidon.ndb.mysql.com> | 2005-06-15 12:29:55 +0200 |
---|---|---|
committer | unknown <tomas@poseidon.ndb.mysql.com> | 2005-06-15 12:29:55 +0200 |
commit | c658b990b8dff3fbef72a7cd533bf5b614193e42 (patch) | |
tree | 391976eaea8c72f93cb07433b039558e2ea4b368 /ndb | |
parent | 894fd6ae07466eca193819295bd8332e5fd572c9 (diff) | |
download | mariadb-git-c658b990b8dff3fbef72a7cd533bf5b614193e42.tar.gz |
Bug #11221 Mysqld does not automatically reconnecting to cluster with cluster restart
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/include/transporter/TransporterDefinitions.hpp | 2 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/IPCConfig.cpp | 6 | ||||
-rw-r--r-- | ndb/src/common/transporter/TransporterRegistry.cpp | 18 |
3 files changed, 18 insertions, 8 deletions
diff --git a/ndb/include/transporter/TransporterDefinitions.hpp b/ndb/include/transporter/TransporterDefinitions.hpp index 43af6749a85..8fc407b6d9c 100644 --- a/ndb/include/transporter/TransporterDefinitions.hpp +++ b/ndb/include/transporter/TransporterDefinitions.hpp @@ -56,7 +56,7 @@ const Uint32 MAX_MESSAGE_SIZE = (12+4+4+(4*25)+(3*4)+4*MAX_SECTION_SIZE); * information specific to a transporter type. */ struct TransporterConfiguration { - Uint32 port; + Int32 s_port; // negative port number implies dynamic port const char *remoteHostName; const char *localHostName; NodeId remoteNodeId; diff --git a/ndb/src/common/mgmcommon/IPCConfig.cpp b/ndb/src/common/mgmcommon/IPCConfig.cpp index f45bc6ead54..f935f8ffab4 100644 --- a/ndb/src/common/mgmcommon/IPCConfig.cpp +++ b/ndb/src/common/mgmcommon/IPCConfig.cpp @@ -271,14 +271,12 @@ IPCConfig::configureTransporters(Uint32 nodeId, If we're not using dynamic ports, we don't do anything. */ - if((int)server_port<0) - server_port= -server_port; conf.localNodeId = nodeId; conf.remoteNodeId = remoteNodeId; conf.checksum = checksum; conf.signalId = sendSignalId; - conf.port = server_port; + conf.s_port = server_port; conf.localHostName = localHostName; conf.remoteHostName = remoteHostName; @@ -350,7 +348,7 @@ IPCConfig::configureTransporters(Uint32 nodeId, if (!iter.get(CFG_TCP_PROXY, &proxy)) { if (strlen(proxy) > 0 && nodeId2 == nodeId) { // TODO handle host:port - conf.port = atoi(proxy); + conf.s_port = atoi(proxy); } } diff --git a/ndb/src/common/transporter/TransporterRegistry.cpp b/ndb/src/common/transporter/TransporterRegistry.cpp index 5ffd3ac334e..e636766560b 100644 --- a/ndb/src/common/transporter/TransporterRegistry.cpp +++ b/ndb/src/common/transporter/TransporterRegistry.cpp @@ -290,7 +290,7 @@ TransporterRegistry::createTCPTransporter(TransporterConfiguration *config) { config->tcp.maxReceiveSize, config->localHostName, config->remoteHostName, - config->port, + config->s_port, config->isMgmConnection, localNodeId, config->remoteNodeId, @@ -392,7 +392,7 @@ TransporterRegistry::createSCITransporter(TransporterConfiguration *config) { SCI_Transporter * t = new SCI_Transporter(*this, config->localHostName, config->remoteHostName, - config->port, + config->s_port, config->isMgmConnection, config->sci.sendLimit, config->sci.bufferSize, @@ -458,7 +458,7 @@ TransporterRegistry::createSHMTransporter(TransporterConfiguration *config) { SHM_Transporter * t = new SHM_Transporter(*this, config->localHostName, config->remoteHostName, - config->port, + config->s_port, config->isMgmConnection, localNodeId, config->remoteNodeId, @@ -1170,7 +1170,10 @@ TransporterRegistry::do_connect(NodeId node_id) case DISCONNECTING: break; } + DBUG_ENTER("TransporterRegistry::do_connect"); + DBUG_PRINT("info",("performStates[%d]=CONNECTING",node_id)); curr_state= CONNECTING; + DBUG_VOID_RETURN; } void TransporterRegistry::do_disconnect(NodeId node_id) @@ -1186,21 +1189,30 @@ TransporterRegistry::do_disconnect(NodeId node_id) case DISCONNECTING: return; } + DBUG_ENTER("TransporterRegistry::do_disconnect"); + DBUG_PRINT("info",("performStates[%d]=DISCONNECTING",node_id)); curr_state= DISCONNECTING; + DBUG_VOID_RETURN; } void TransporterRegistry::report_connect(NodeId node_id) { + DBUG_ENTER("TransporterRegistry::report_connect"); + DBUG_PRINT("info",("performStates[%d]=CONNECTED",node_id)); performStates[node_id] = CONNECTED; reportConnect(callbackObj, node_id); + DBUG_VOID_RETURN; } void TransporterRegistry::report_disconnect(NodeId node_id, int errnum) { + DBUG_ENTER("TransporterRegistry::report_connect"); + DBUG_PRINT("info",("performStates[%d]=DISCONNECTED",node_id)); performStates[node_id] = DISCONNECTED; reportDisconnect(callbackObj, node_id, errnum); + DBUG_VOID_RETURN; } void |