deniskuzZ commented on code in PR #5649: URL: https://github.com/apache/hive/pull/5649#discussion_r2017464588
########## ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java: ########## @@ -1969,6 +2001,24 @@ public void close() throws IOException { dynamicVars.clear(); } + private static void deregister(SessionState ss) { + // remove from the sessionStates list to avoid cleaning the closed session state again + sessionStates.remove(ss); + } + + private static void cleanUpAllSessions() { + for (SessionState sessionState : sessionStates) { + cleanupExecutor.submit(() -> { Review Comment: where do you wait for completion? ```` private static void cleanUpAllSessions() { List<CompletableFuture<Void>> asyncTasks = new ArrayList<>(); ExecutorService cleanupExecutor = Executors.newSingleThreadExecutor(); try { for (SessionState sessionState : sessionStates) { Runnable task = () -> { try { LOG.info("Closing session state: {}", sessionState.getSessionId()); sessionState.close(); } catch (IOException e) { LOG.error("Problem closing session state", e); } }; CompletableFuture<Void> asyncTask = CompletableFuture.runAsync( task, cleanupExecutor) .exceptionally(e -> { LOG.error("Error closing session state", e); return null; }); asyncTasks.add(asyncTask); } CompletableFuture<Void> result = CompletableFuture.allOf(asyncTasks.toArray(new CompletableFuture[0])); try { result.get(timeout, TimeUnit.SECONDS); } catch (Exception e) { LOG.error("Failed to close all session states", e); } } finally { cleanupExecutor.shutdownNow(); } } ```` -- 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: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org