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


##########
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) {

Review Comment:
   For now, manager service shutdown may be the only case, the exception is 
handled here mainly because `Thread.sleep()` needs to clean up resources when 
the Thread breaks



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to