浏览代码

HPCC-23612 Set eclccserver termination grace period

Ensure that in-flight compilations complete when eclccserver is autoscaled down

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 5 年之前
父节点
当前提交
f3115f63b8
共有 3 个文件被更改,包括 3 次插入9 次删除
  1. 1 0
      dockerfiles/hpcc/templates/eclccserver.yaml
  2. 0 7
      ecl/eclccserver/eclccserver.cpp
  3. 2 2
      system/jlib/jmisc.cpp

+ 1 - 0
dockerfiles/hpcc/templates/eclccserver.yaml

@@ -17,6 +17,7 @@ spec:
 {{ include "hpcc.utils.changeMountPerms" (dict "volumeName" "dllserver-pv-storage" "volumePath" "/var/lib/HPCCSystems/queries") | indent 6 }}
       {{- end }}
       serviceAccountName: hpcc
+      terminationGracePeriodSeconds: {{ .terminationGracePeriodSeconds | default 600 }}
       containers:
       - name: {{ .name | quote }}
         args: [

+ 0 - 7
ecl/eclccserver/eclccserver.cpp

@@ -730,19 +730,12 @@ extern "C" void caughtSIGALRM(int sig)
     DBGLOG("Caught sigalrm %d", sig);
 }
 
-extern "C" void caughtSIGTERM(int sig)
-{
-    DBGLOG("Caught sigterm %d", sig);
-}
-
 void initSignals()
 {
 #ifndef _WIN32
-//  signal(SIGTERM, caughtSIGTERM);
     signal(SIGPIPE, caughtSIGPIPE);
     signal(SIGHUP, caughtSIGHUP);
     signal(SIGALRM, caughtSIGALRM);
-
 #endif
 }
 

+ 2 - 2
system/jlib/jmisc.cpp

@@ -780,7 +780,7 @@ BOOL WINAPI ModuleExitHandler ( DWORD dwCtrlType )
     }
     return FALSE; 
 } 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__APPLE__)
 static void UnixAbortHandler(int signo)
 {
     ahType type = ahInterrupt;
@@ -802,7 +802,7 @@ void queryInstallAbortHandler()
 
 #if defined(_WIN32)
     SetConsoleCtrlHandler( WindowsAbortHandler, TRUE ); 
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__APPLE__)
     struct sigaction action;
     sigemptyset(&action.sa_mask);
     action.sa_flags = SA_RESTART;