@@ -669,27 +669,33 @@ void
669
669
ClusterMgr::sendProcessInfoReport (NodeId nodeId)
670
670
{
671
671
LinearSectionPtr ptr[3 ];
672
- LinearSectionPtr & nameSection = ptr[ProcessInfoRep::ConnNameSectionNum ];
673
- LinearSectionPtr & addrSection = ptr[ProcessInfoRep::HostAddrSectionNum ];
672
+ LinearSectionPtr & pathSection = ptr[ProcessInfoRep::PathSectionNum ];
673
+ LinearSectionPtr & hostSection = ptr[ProcessInfoRep::HostSectionNum ];
674
674
BlockReference ownRef = numberToRef (API_CLUSTERMGR, theFacade.ownId ());
675
675
NdbApiSignal signal (ownRef);
676
- int nsections = 1 ;
676
+ int nsections = 0 ;
677
677
signal.theVerId_signalNumber = GSN_PROCESSINFO_REP;
678
678
signal.theReceiversBlockNumber = QMGR;
679
679
signal.theTrace = 0 ;
680
680
signal.theLength = ProcessInfoRep::SignalLength;
681
681
682
682
ProcessInfoRep * report = CAST_PTR (ProcessInfoRep, signal.getDataPtrSend ());
683
683
m_process_info->buildProcessInfoReport (report);
684
- nameSection.p = (Uint32 *) m_process_info->getConnectionName ();
685
- nameSection.sz = ProcessInfo::ConnectionNameLengthInWords;
684
+
685
+ const char * uri_path = m_process_info->getUriPath ();
686
+ pathSection.p = (Uint32 *) uri_path;
687
+ pathSection.sz = ProcessInfo::UriPathLengthInWords;
688
+ if (uri_path[0 ])
689
+ {
690
+ nsections = 1 ;
691
+ }
692
+
686
693
const char * hostAddress = m_process_info->getHostAddress ();
687
694
if (hostAddress[0 ])
688
695
{
689
- // report->flags = ProcessInfoRep::HostAddressFlag;
690
696
nsections = 2 ;
691
- addrSection .p = (Uint32 *) hostAddress;
692
- addrSection .sz = ProcessInfo::AddressStringLengthInWords;
697
+ hostSection .p = (Uint32 *) hostAddress;
698
+ hostSection .sz = ProcessInfo::AddressStringLengthInWords;
693
699
}
694
700
raw_sendSignal (&signal, nodeId, ptr, nsections);
695
701
}
@@ -1295,12 +1301,22 @@ ClusterMgr::print_nodes(const char* where, NdbOut& out)
1295
1301
}
1296
1302
1297
1303
void
1298
- ClusterMgr::setProcessInfo (const char * connection_name ,
1299
- const char * address_string, int port)
1304
+ ClusterMgr::setProcessInfoUri (const char * scheme, const char * address_string ,
1305
+ int port, const char * path )
1300
1306
{
1301
- m_process_info->setConnectionName (connection_name);
1307
+ Guard g (clusterMgrThreadMutex);
1308
+
1309
+ m_process_info->setUriScheme (scheme);
1302
1310
m_process_info->setHostAddress (address_string);
1303
1311
m_process_info->setPort (port);
1312
+ m_process_info->setUriPath (path);
1313
+
1314
+ /* Set flag to resend ProcessInfo Report */
1315
+ for (int i = 1 ; i < MAX_NODES ; i++)
1316
+ {
1317
+ Node & node = theNodes[i];
1318
+ if (node.is_connected ()) node.processInfoSent = false ;
1319
+ }
1304
1320
}
1305
1321
1306
1322
/* *****************************************************************************
0 commit comments