fuweng11 commented on code in PR #11532:
URL: https://github.com/apache/inlong/pull/11532#discussion_r1855701779


##########
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java:
##########
@@ -489,17 +493,35 @@ public static void delete(String url, String token, long 
code) {
             Map<String, String> header = buildHeader(token);
 
             String requestUrl = url + "/" + code;
+            for (int attempt = 1; attempt <= DS_DEFAULT_RETRY_TIMES; 
attempt++) {
+                JsonObject response = executeHttpRequest(requestUrl, DELETE, 
new HashMap<>(), header);
 
-            JsonObject response = executeHttpRequest(requestUrl, DELETE, new 
HashMap<>(), header);
-            LOGGER.info("delete process or project success, response data: 
{}", response);
+                if (response.get(DS_SUCCESS).getAsBoolean()) {
+                    LOGGER.info("Delete process or project success, response 
data: {}", response);
+                    return;
+                }
+
+                if (response.get(DS_CODE).getAsInt() == 
PROCESS_DEFINITION_IN_USED_ERROR) {
+                    LOGGER.warn("Attempt {} of {}, retrying after {} ms...", 
attempt, DS_DEFAULT_RETRY_TIMES,
+                            DS_DEFAULT_WAIT_MILLS);
+                    Thread.sleep(DS_DEFAULT_WAIT_MILLS);
+                }
+            }
 
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            LOGGER.error("Thread interrupted while retrying delete process or 
project: ", e);
+            throw new DolphinScheduleException(
+                    DELETION_FAILED,
+                    String.format("Thread interrupted while retrying delete 
for code: %d at URL: %s", code, url), e);
         } catch (JsonParseException e) {
             LOGGER.error("JsonParseException during deleting process or 
project", e);
             throw new DolphinScheduleException(
                     JSON_PARSE_ERROR,
                     String.format("Error deleting process or project with 
code: %d at URL: %s", code, url), e);

Review Comment:
   ```suggestion
                       String.format("Error deleting process or project with 
code: %d at URL: %s", code, url));
   ```



##########
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java:
##########
@@ -489,17 +493,35 @@ public static void delete(String url, String token, long 
code) {
             Map<String, String> header = buildHeader(token);
 
             String requestUrl = url + "/" + code;
+            for (int attempt = 1; attempt <= DS_DEFAULT_RETRY_TIMES; 
attempt++) {
+                JsonObject response = executeHttpRequest(requestUrl, DELETE, 
new HashMap<>(), header);
 
-            JsonObject response = executeHttpRequest(requestUrl, DELETE, new 
HashMap<>(), header);
-            LOGGER.info("delete process or project success, response data: 
{}", response);
+                if (response.get(DS_SUCCESS).getAsBoolean()) {
+                    LOGGER.info("Delete process or project success, response 
data: {}", response);
+                    return;
+                }
+
+                if (response.get(DS_CODE).getAsInt() == 
PROCESS_DEFINITION_IN_USED_ERROR) {
+                    LOGGER.warn("Attempt {} of {}, retrying after {} ms...", 
attempt, DS_DEFAULT_RETRY_TIMES,
+                            DS_DEFAULT_WAIT_MILLS);
+                    Thread.sleep(DS_DEFAULT_WAIT_MILLS);
+                }
+            }
 
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            LOGGER.error("Thread interrupted while retrying delete process or 
project: ", e);
+            throw new DolphinScheduleException(
+                    DELETION_FAILED,
+                    String.format("Thread interrupted while retrying delete 
for code: %d at URL: %s", code, url), e);
         } catch (JsonParseException e) {
             LOGGER.error("JsonParseException during deleting process or 
project", e);
             throw new DolphinScheduleException(
                     JSON_PARSE_ERROR,
                     String.format("Error deleting process or project with 
code: %d at URL: %s", code, url), e);
 
         } catch (DolphinScheduleException e) {
+            LOGGER.error("Error deleting process or project: ", e);
             throw new DolphinScheduleException(
                     DELETION_FAILED,
                     String.format("Error deleting process or project with 
code: %d at URL: %s", code, url), e);

Review Comment:
   ```suggestion
                       String.format("Error deleting process or project with 
code: %d at URL: %s", code, url));
   ```



##########
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java:
##########
@@ -489,17 +493,35 @@ public static void delete(String url, String token, long 
code) {
             Map<String, String> header = buildHeader(token);
 
             String requestUrl = url + "/" + code;
+            for (int attempt = 1; attempt <= DS_DEFAULT_RETRY_TIMES; 
attempt++) {
+                JsonObject response = executeHttpRequest(requestUrl, DELETE, 
new HashMap<>(), header);
 
-            JsonObject response = executeHttpRequest(requestUrl, DELETE, new 
HashMap<>(), header);
-            LOGGER.info("delete process or project success, response data: 
{}", response);
+                if (response.get(DS_SUCCESS).getAsBoolean()) {
+                    LOGGER.info("Delete process or project success, response 
data: {}", response);
+                    return;
+                }
+
+                if (response.get(DS_CODE).getAsInt() == 
PROCESS_DEFINITION_IN_USED_ERROR) {
+                    LOGGER.warn("Attempt {} of {}, retrying after {} ms...", 
attempt, DS_DEFAULT_RETRY_TIMES,
+                            DS_DEFAULT_WAIT_MILLS);
+                    Thread.sleep(DS_DEFAULT_WAIT_MILLS);
+                }
+            }
 
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            LOGGER.error("Thread interrupted while retrying delete process or 
project: ", e);
+            throw new DolphinScheduleException(
+                    DELETION_FAILED,
+                    String.format("Thread interrupted while retrying delete 
for code: %d at URL: %s", code, url), e);

Review Comment:
   ```suggestion
                       String.format("Thread interrupted while retrying delete 
for code: %d at URL: %s", code, url));
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@inlong.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to