Prechádzať zdrojové kódy

Merge pull request #15098 from richardkchapman/topo-regression

HPCC-26102 Roxie not loading agent queries

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Merged-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 4 rokov pred
rodič
commit
eff8bf5e1b

+ 4 - 1
roxie/ccd/ccdmain.cpp

@@ -1243,6 +1243,9 @@ int CCD_API roxie_main(int argc, const char *argv[], const char * defaultYaml)
             queryFileCache().start();
             loadPlugins();
         }
+#ifdef _CONTAINERIZED
+        initializeTopology(topoValues, myRoles);
+#endif
         createDelayedReleaser();
         globalPackageSetManager = createRoxiePackageSetManager(standAloneDll.getClear());
         globalPackageSetManager->load();
@@ -1411,7 +1414,7 @@ int CCD_API roxie_main(int argc, const char *argv[], const char * defaultYaml)
                 queryFileCache().loadSavedOsCacheInfo();
                 queryFileCache().startCacheReporter();
 #ifdef _CONTAINERIZED
-                publishTopology(traceLevel, topoValues, myRoles);
+                publishTopology(traceLevel, myRoles);
 #endif
                 writeSentinelFile(sentinelFile);
                 DBGLOG("Startup completed - LPT=%u APT=%u", queryNumLocalTrees(), queryNumAtomTrees());

+ 5 - 1
roxie/udplib/udptopo.cpp

@@ -485,10 +485,14 @@ static std::thread topoThread;
 static Semaphore abortTopo;
 const unsigned topoUpdateInterval = 5000;
 
-extern UDPLIB_API void publishTopology(unsigned traceLevel, const StringArray &topoValues, const std::vector<RoxieEndpointInfo> &myRoles)
+extern UDPLIB_API void initializeTopology(const StringArray &topoValues, const std::vector<RoxieEndpointInfo> &myRoles)
 {
     topologyManager.setServers(topoValues);
     topologyManager.setRoles(myRoles);
+}
+
+extern UDPLIB_API void publishTopology(unsigned traceLevel, const std::vector<RoxieEndpointInfo> &myRoles)
+{
     if (topologyManager.numServers())
     {
         topoThread = std::thread([traceLevel, &myRoles]()

+ 2 - 1
roxie/udplib/udptopo.hpp

@@ -125,7 +125,8 @@ struct RoxieEndpointInfo
     unsigned replicationLevel;
 };
 
-extern UDPLIB_API void publishTopology(unsigned traceLevel, const StringArray &topoValues, const std::vector<RoxieEndpointInfo> &myRoles);
+extern UDPLIB_API void initializeTopology(const StringArray &topoValues, const std::vector<RoxieEndpointInfo> &myRoles);
+extern UDPLIB_API void publishTopology(unsigned traceLevel, const std::vector<RoxieEndpointInfo> &myRoles);
 extern UDPLIB_API void stopTopoThread();
 
 #ifndef _CONTAINERIZED