fuweng11 commented on code in PR #11532:
URL: https://github.com/apache/inlong/pull/11532#discussion_r1855899362
##########
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java:
##########
@@ -489,20 +493,49 @@ public static void delete(String url, String token, long
code) {
Map<String, String> header = buildHeader(token);
String requestUrl = url + "/" + code;
+ for (int retryTime = 1; retryTime <= DS_DEFAULT_RETRY_TIMES;
retryTime++) {
+ 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) {
+
+ if (retryTime == DS_DEFAULT_RETRY_TIMES) {
+ LOGGER.error(
+ "Maximum retry attempts reached for deleting
process or project. URL: {}, Code: {}",
+ url, code);
+ throw new DolphinScheduleException(
+ DELETION_FAILED,
+ String.format("Failed to delete after %d
retries. Code: %d at URL: %s",
+ DS_DEFAULT_RETRY_TIMES, code, url));
+ }
+
+ LOGGER.warn("Attempt {} of {}, retrying after {} ms...",
retryTime, 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));
} 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);
+ String.format("Error deleting process or project with
code: %d at URL: %s", code, url));
} catch (DolphinScheduleException e) {
+ LOGGER.error("Error deleting process or project: ", e);
Review Comment:
```suggestion
LOGGER.error("Error deleting process or project for code={},
url={} ", code, url, e);
```
##########
inlong-manager/manager-schedule/src/main/java/org/apache/inlong/manager/schedule/dolphinscheduler/DolphinScheduleUtils.java:
##########
@@ -489,20 +493,49 @@ public static void delete(String url, String token, long
code) {
Map<String, String> header = buildHeader(token);
String requestUrl = url + "/" + code;
+ for (int retryTime = 1; retryTime <= DS_DEFAULT_RETRY_TIMES;
retryTime++) {
+ 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) {
+
+ if (retryTime == DS_DEFAULT_RETRY_TIMES) {
+ LOGGER.error(
+ "Maximum retry attempts reached for deleting
process or project. URL: {}, Code: {}",
+ url, code);
+ throw new DolphinScheduleException(
+ DELETION_FAILED,
+ String.format("Failed to delete after %d
retries. Code: %d at URL: %s",
+ DS_DEFAULT_RETRY_TIMES, code, url));
+ }
+
+ LOGGER.warn("Attempt {} of {}, retrying after {} ms...",
retryTime, DS_DEFAULT_RETRY_TIMES,
+ DS_DEFAULT_WAIT_MILLS);
Review Comment:
```suggestion
LOGGER.warn("Retrying for current retry time ={},
maximum retry count={}, code={}, url={}, after {} ms...", retryTime,
DS_DEFAULT_RETRY_TIMES, code, url, DS_DEFAULT_WAIT_MILLS);
```
--
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]