You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/03/25 13:37:58 UTC

[incubator-inlong] branch master updated: [INLONG-3370][Manager] Optimize stream source delete logic (#3371)

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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new a3d5203  [INLONG-3370][Manager] Optimize stream source delete logic (#3371)
a3d5203 is described below

commit a3d5203cdc064ceaa3f516cb9b73d38e5ed437b8
Author: kipshi <48...@users.noreply.github.com>
AuthorDate: Fri Mar 25 21:37:54 2022 +0800

    [INLONG-3370][Manager] Optimize stream source delete logic (#3371)
---
 .../java/org/apache/inlong/manager/common/enums/SourceState.java     | 2 +-
 .../inlong/manager/service/source/AbstractStreamSourceOperation.java | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SourceState.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SourceState.java
index 0c16caf..3a6c50a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SourceState.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SourceState.java
@@ -89,7 +89,7 @@ public enum SourceState {
 
     static {
         // new
-        SOURCE_STATE_AUTOMATON.put(SOURCE_NEW, Sets.newHashSet(SOURCE_NEW, TO_BE_ISSUED_ADD));
+        SOURCE_STATE_AUTOMATON.put(SOURCE_NEW, Sets.newHashSet(SOURCE_DISABLE, SOURCE_NEW, TO_BE_ISSUED_ADD));
 
         // normal
         SOURCE_STATE_AUTOMATON.put(SOURCE_NORMAL,
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractStreamSourceOperation.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractStreamSourceOperation.java
index be68d6b..d709b9d 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractStreamSourceOperation.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractStreamSourceOperation.java
@@ -173,6 +173,11 @@ public abstract class AbstractStreamSourceOperation implements StreamSourceOpera
         StreamSourceEntity existEntity = sourceMapper.selectByIdForUpdate(id);
         SourceState curState = SourceState.forCode(existEntity.getStatus());
         SourceState nextState = SourceState.TO_BE_ISSUED_DELETE;
+        // if source is frozen|failed|new , delete directly
+        if (curState == SourceState.SOURCE_FROZEN || curState == SourceState.SOURCE_FAILED
+                || curState == SourceState.SOURCE_NEW) {
+            nextState = SourceState.SOURCE_DISABLE;
+        }
         if (!SourceState.isAllowedTransition(curState, nextState)) {
             throw new RuntimeException(String.format("Source=%s is not allowed to delete", existEntity));
         }