You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by al...@apache.org on 2022/07/22 12:32:01 UTC

[incubator-linkis] 03/06: Modify the locker to judge the executor status

This is an automated email from the ASF dual-hosted git repository.

alexkun pushed a commit to branch dev-1.2.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git

commit b59e159f64db937028267be924b5c1c126ea0137
Author: peacewong <wp...@gmail.com>
AuthorDate: Fri Jul 22 17:31:46 2022 +0800

    Modify the locker to judge the executor status
---
 .../executor/execution/AccessibleEngineConnExecution.scala     |  1 +
 .../executor/service/EngineConnTimedLockService.scala          | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/execution/AccessibleEngineConnExecution.scala b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/execution/AccessibleEngineConnExecution.scala
index 9dd89b775..a0b203ce3 100644
--- a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/execution/AccessibleEngineConnExecution.scala
+++ b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/execution/AccessibleEngineConnExecution.scala
@@ -98,6 +98,7 @@ class AccessibleEngineConnExecution extends EngineConnExecution with Logging {
             accessibleExecutor.updateLastActivityTime()
           } else {
             logger.warn(s"${accessibleExecutor.getId} has not been used for $maxFreeTimeStr, now try to shutdown it.")
+            accessibleExecutor.tryShutdown()
             requestManagerReleaseExecutor(" idle release")
             ShutdownHook.getShutdownHook.notifyStop()
           }
diff --git a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/service/EngineConnTimedLockService.scala b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/service/EngineConnTimedLockService.scala
index 86baf54b6..bbbae2c51 100644
--- a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/service/EngineConnTimedLockService.scala
+++ b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-executor/accessible-executor/src/main/scala/org/apache/linkis/engineconn/acessible/executor/service/EngineConnTimedLockService.scala
@@ -89,8 +89,14 @@ class EngineConnTimedLockService extends LockService with Logging {
     // Lock is binded to engineconn, so choose default executor
     ExecutorManager.getInstance.getReportExecutor match {
       case accessibleExecutor: AccessibleExecutor =>
-        logger.debug("try to lock for executor state is " + accessibleExecutor.getStatus)
-        logger.debug("try to lock for executor id is " + accessibleExecutor.getId)
+        if (logger.isDebugEnabled) {
+          logger.debug("try to lock for executor state is " + accessibleExecutor.getStatus)
+          logger.debug("try to lock for executor id is " + accessibleExecutor.getId)
+        }
+        if (NodeStatus.isCompleted(accessibleExecutor.getStatus)) {
+          logger.error(s"Cannot to lock completed ${accessibleExecutor.getStatus} stats executor")
+          return None
+        }
         if (null == engineConnLock) {
           engineConnLock = new EngineConnTimedLock(timeout)
           ExecutorListenerBusContext.getExecutorListenerBusContext().getEngineConnAsyncListenerBus.addListener(engineConnLock)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org