Skip to content

Commit 6a575bb

Browse files
authored
Merge pull request #92 from hnarimiya/fix/retry-graal-evaluat-at-context-closed
fix handling at graal evaludate error context closed
2 parents 14b5e22 + 320679d commit 6a575bb

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

digdag-core/src/main/java/io/digdag/core/agent/GraalJsEngine.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,12 @@ public String evaluate(String code, Config scopedParams, ObjectMapper jsonMapper
131131
}
132132
catch (IllegalStateException e) {
133133
/**
134-
* When shutdown sequence started, engine is closed before call and tasks will fail.
134+
* When shutdown sequence started, engine or context is closed before call and tasks will fail.
135135
* To avoid it, create new engine and retry.
136136
*/
137-
if (e.getMessage().equals("Engine is already closed.")) {
138-
logger.debug("Engine is already closed. Retry with new engine");
137+
String message = e.getMessage();
138+
if ("Engine is already closed.".equals(message) || "The Context is already closed.".equals(message)) {
139+
logger.warn("Retry with new engine. Because: {}", message);
139140
return new GraalEvaluator(createContextSupplier(Optional.empty(), params, libraryJsSources)
140141
, extendedSyntax).evaluate(code, scopedParams, jsonMapper);
141142
}

0 commit comments

Comments
 (0)