From 07fa571e2066dd53115610f85bb9acfad6e6081e Mon Sep 17 00:00:00 2001 From: Stan Reshetnyk Date: Mon, 6 Mar 2017 10:34:05 +0200 Subject: [PATCH] Fix long shutdown time in spring by catching error from db source that was already closed --- .../java/org/ethereum/net/rlpx/discover/NodeManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ethereumj-core/src/main/java/org/ethereum/net/rlpx/discover/NodeManager.java b/ethereumj-core/src/main/java/org/ethereum/net/rlpx/discover/NodeManager.java index a00949263c..4bb4105d6b 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/rlpx/discover/NodeManager.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/rlpx/discover/NodeManager.java @@ -397,7 +397,13 @@ public void close() { try { nodeManagerTasksTimer.cancel(); if (PERSIST) { - dbWrite(); + try { + dbWrite(); + } catch (Throwable e) { // IllegalAccessError is expected + // NOTE: logback stops context right after shutdown initiated. It is problematic to see log output + // System out could help + logger.warn("Problem during NodeManager persist in close: " + e.getMessage()); + } } } catch (Exception e) { logger.warn("Problems canceling nodeManagerTasksTimer", e);