From 3668dde8e8c813c59c65189216031eb71ecbf69c Mon Sep 17 00:00:00 2001 From: Maher Khalil Date: Mon, 26 Oct 2026 17:01:41 -0400 Subject: [PATCH] feat(engine): close an engine on every node after its smss secrets change - When updateSmssFile saves an engine's settings to the secret store, it publishes the engine close to the cluster after reopening it locally, so every container reopens it with the new settings. --- src/prerna/semoss/web/services/local/EngineRouteResource.java | 4 ++++ src/prerna/web/services/util/WebUtility.java | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/prerna/semoss/web/services/local/EngineRouteResource.java b/src/prerna/semoss/web/services/local/EngineRouteResource.java index ebc7f32f..a0a0bd41 100644 --- a/src/prerna/semoss/web/services/local/EngineRouteResource.java +++ b/src/prerna/semoss/web/services/local/EngineRouteResource.java @@ -301,6 +301,10 @@ public Response updateSmssFile(@Context HttpServletRequest request, @PathParam(" return WebUtility.getResponse(errorMap, 400); } + // the smss file is unchanged and the new values live in the secret store, so + // the other nodes only need to close the engine to read them on next use + ClusterUtil.publishEngineClose(engineId); + Map success = new HashMap<>(); success.put("success", true); return WebUtility.getResponse(success, 200); diff --git a/src/prerna/web/services/util/WebUtility.java b/src/prerna/web/services/util/WebUtility.java index 54cfd153..1f1aed04 100644 --- a/src/prerna/web/services/util/WebUtility.java +++ b/src/prerna/web/services/util/WebUtility.java @@ -50,6 +50,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.TimeZone; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -247,7 +248,7 @@ private static void auditErrorResponse(Object vec, int status) { if (status < 400) { return; } - Object message = vec instanceof java.util.Map map ? map.get(Constants.ERROR_MESSAGE) : vec; + Object message = vec instanceof Map map ? map.get(Constants.ERROR_MESSAGE) : vec; UserAuditTrailUtils.recordHttpErrorResponse(status, message instanceof String text ? text : null); }