From f5910ab95071684b8683b35815ecbaa19e2638fb Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sun, 22 Aug 2021 15:21:18 +0100 Subject: [PATCH] Break out of the AT pruning inner loops if we're stopping the app. --- .../qortal/repository/hsqldb/HSQLDBATRepository.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java index d5929311..0d4d2923 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBATRepository.java @@ -727,6 +727,11 @@ public class HSQLDBATRepository implements ATRepository { for (int height=minHeight; height atAddresses = new ArrayList<>(); String updateSql = "SELECT AT_address FROM LatestATStates WHERE height = ?"; @@ -746,6 +751,11 @@ public class HSQLDBATRepository implements ATRepository { for (ATStateData atState : atStates) { //LOGGER.info("Found atState {} at height {}", atState.getATAddress(), atState.getHeight()); + // Give up if we're stopping + if (Controller.isStopping()) { + return deletedCount; + } + if (atAddresses.contains(atState.getATAddress())) { // We don't want to delete this AT state because it is still active LOGGER.info("Skipping atState {} at height {}", atState.getATAddress(), atState.getHeight());