Browse Source

HPCC-23670 Ensure containerized dllserver is independent of environment

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 5 years ago
parent
commit
f802c28f81
2 changed files with 27 additions and 20 deletions
  1. 9 2
      common/dllserver/CMakeLists.txt
  2. 18 18
      common/dllserver/dllserver.cpp

+ 9 - 2
common/dllserver/CMakeLists.txt

@@ -39,12 +39,15 @@ include_directories (
          ./../../system/include 
          ./../../dali/base 
          ./../../system/jlib 
-         ./../../common/environment
          ./../../system/security/shared
          ${CMAKE_BINARY_DIR}
          ${CMAKE_BINARY_DIR}/oss
     )
 
+if (NOT CONTAINERIZED)
+  include_directories( ./../../common/environment )
+endif()
+
 IF (NOT WIN32)
   include_directories(${BINUTILS_INCLUDE_DIR})
 ENDIF()
@@ -61,8 +64,12 @@ target_link_libraries ( dllserver
          eclrtl 
          dafsclient
          dalibase 
-         environment 
     )
+
+if (NOT CONTAINERIZED)
+  target_link_libraries ( dllserver environment )
+endif()
+
 if (NOT WIN32)
   target_link_libraries ( dllserver ${BINUTILS_LIBRARIES})
 endif()

+ 18 - 18
common/dllserver/dllserver.cpp

@@ -24,9 +24,12 @@
 #include "daclient.hpp"
 #include "dasds.hpp"
 #include "rmtclient.hpp"
-#include "dalienv.hpp"
 #include "thorplugin.hpp"
 
+#ifndef _CONTAINERIZED
+#include "dalienv.hpp"
+#endif
+
 #ifdef _WIN32
 #define DEFAULT_SERVER_ROOTDIR          "c:\\HPCCSystems\\hpcc-data\\temp\\dllserver"
 #else
@@ -744,25 +747,22 @@ IDllServer & queryDllServer()
     CriticalBlock b(dllServerCrit);
     if (!dllServer)
     {
-        if (isCloud())
-        {
-            const char* dllserver_root = getenv("HPCC_DLLSERVER_PATH");
-            assertex(dllserver_root != nullptr);
-            dllServer = new SharedVolumeDllServer(dllserver_root);
-        }
-        else
+#ifdef _CONTAINERIZED
+        const char* dllserver_root = getenv("HPCC_DLLSERVER_PATH");
+        assertex(dllserver_root != nullptr);
+        dllServer = new SharedVolumeDllServer(dllserver_root);
+#else
+        const char* dllserver_root = getenv("DLLSERVER_ROOT");
+        StringBuffer dir;
+        if(dllserver_root == NULL)
         {
-            const char* dllserver_root = getenv("DLLSERVER_ROOT");
-            StringBuffer dir;
-            if(dllserver_root == NULL)
-            {
-                if (envGetConfigurationDirectory("temp","dllserver","dllserver",dir)) // not sure if different instance might be better but never separated in past
-                    dllserver_root = dir.str();
-                else
-                    dllserver_root = DEFAULT_SERVER_ROOTDIR;
-            }
-            dllServer = new DllServer(dllserver_root);
+            if (envGetConfigurationDirectory("temp","dllserver","dllserver",dir)) // not sure if different instance might be better but never separated in past
+                dllserver_root = dir.str();
+            else
+                dllserver_root = DEFAULT_SERVER_ROOTDIR;
         }
+        dllServer = new DllServer(dllserver_root);
+#endif
     }
 
     return *dllServer;