瀏覽代碼

Merge pull request #13909 from richardkchapman/roxie-detach

HPCC-24212 roxie cores when running ecl roxie detach

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Merged-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 4 年之前
父節點
當前提交
c74273ed13
共有 4 個文件被更改,包括 5 次插入0 次删除
  1. 1 0
      roxie/ccd/ccd.hpp
  2. 1 0
      roxie/ccd/ccdlistener.cpp
  3. 1 0
      roxie/ccd/ccdmain.cpp
  4. 2 0
      roxie/ccd/ccdstate.cpp

+ 1 - 0
roxie/ccd/ccd.hpp

@@ -299,6 +299,7 @@ extern PTreeReaderOptions defaultXmlReadFlags;
 extern bool mergeAgentStatistics;
 extern bool defaultNoSeekBuildIndex;
 extern unsigned parallelLoadQueries;
+extern bool adhocRoxie;
 
 #ifdef _CONTAINERIZED
 static constexpr bool roxieMulticastEnabled = false;

+ 1 - 0
roxie/ccd/ccdlistener.cpp

@@ -1940,6 +1940,7 @@ IHpccProtocolListener *createRoxieWorkUnitListener(unsigned poolSize, bool suspe
 {
     if (traceLevel)
         DBGLOG("Creating Roxie workunit listener, pool size %d%s", poolSize, suspended?" SUSPENDED":"");
+    adhocRoxie = true;
     return new RoxieWorkUnitListener(poolSize, suspended);
 }
 

+ 1 - 0
roxie/ccd/ccdmain.cpp

@@ -172,6 +172,7 @@ unsigned maxGraphLoopIterations;
 bool probeAllRows;
 bool steppingEnabled = true;
 bool simpleLocalKeyedJoins = true;
+bool adhocRoxie = false;
 
 unsigned __int64 minFreeDiskSpace = 1024 * 0x100000;  // default to 1 GB
 unsigned socketCheckInterval = 5000;

+ 2 - 0
roxie/ccd/ccdstate.cpp

@@ -2371,6 +2371,8 @@ private:
             }
             else if (stricmp(queryName, "control:lockDali")==0)
             {
+                if (adhocRoxie)
+                    throw MakeStringException(ROXIE_CONTROL_MSG_ERROR, "Cannot lock dali when listening for workunits");
                 topology->setPropBool("@lockDali", true);
                 if (daliHelper)
                     daliHelper->disconnect();