Commit c658b990 authored by unknown's avatar unknown

Bug #11221 Mysqld does not automatically reconnecting to cluster with cluster restart

parent 894fd6ae
......@@ -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;
......
......@@ -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);
}
}
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment