diff --git a/src/main/java/org/qortal/controller/repository/AtStatesPruner.java b/src/main/java/org/qortal/controller/repository/AtStatesPruner.java index c9e77dcf..a682d6db 100644 --- a/src/main/java/org/qortal/controller/repository/AtStatesPruner.java +++ b/src/main/java/org/qortal/controller/repository/AtStatesPruner.java @@ -108,6 +108,13 @@ public class AtStatesPruner implements Runnable { Thread.sleep(5*60*1000L); } } + } catch (InterruptedException e) { + if(Controller.isStopping()) { + LOGGER.info("AT States Pruning Shutting Down"); + } + else { + LOGGER.warn("AT States Pruning interrupted. Trying again. Report this error immediately to the developers.", e); + } } catch (Exception e) { LOGGER.warn("AT States Pruning stopped working. Trying again. Report this error immediately to the developers.", e); } diff --git a/src/main/java/org/qortal/controller/repository/AtStatesTrimmer.java b/src/main/java/org/qortal/controller/repository/AtStatesTrimmer.java index 08c4596c..6b599d05 100644 --- a/src/main/java/org/qortal/controller/repository/AtStatesTrimmer.java +++ b/src/main/java/org/qortal/controller/repository/AtStatesTrimmer.java @@ -80,6 +80,13 @@ public class AtStatesTrimmer implements Runnable { LOGGER.info(() -> String.format("Bumping AT state base trim height to %d", finalTrimStartHeight)); } } + } catch (InterruptedException e) { + if(Controller.isStopping()) { + LOGGER.info("AT States Trimming Shutting Down"); + } + else { + LOGGER.warn("AT States Trimming interrupted. Trying again. Report this error immediately to the developers.", e); + } } catch (Exception e) { LOGGER.warn("AT States Trimming stopped working. Trying again. Report this error immediately to the developers.", e); } diff --git a/src/main/java/org/qortal/controller/repository/BlockArchiver.java b/src/main/java/org/qortal/controller/repository/BlockArchiver.java index 9d031140..d136fd79 100644 --- a/src/main/java/org/qortal/controller/repository/BlockArchiver.java +++ b/src/main/java/org/qortal/controller/repository/BlockArchiver.java @@ -105,6 +105,13 @@ public class BlockArchiver implements Runnable { } catch (IOException | TransformationException e) { LOGGER.info("Caught exception when creating block cache", e); } + } catch (InterruptedException e) { + if(Controller.isStopping()) { + LOGGER.info("Block Archiving Shutting Down"); + } + else { + LOGGER.warn("Block Archiving interrupted. Trying again. Report this error immediately to the developers.", e); + } } catch (Exception e) { LOGGER.warn("Block Archiving stopped working. Trying again. Report this error immediately to the developers.", e); } diff --git a/src/main/java/org/qortal/controller/repository/BlockPruner.java b/src/main/java/org/qortal/controller/repository/BlockPruner.java index 15e7c094..cbbc9627 100644 --- a/src/main/java/org/qortal/controller/repository/BlockPruner.java +++ b/src/main/java/org/qortal/controller/repository/BlockPruner.java @@ -110,6 +110,13 @@ public class BlockPruner implements Runnable { Thread.sleep(10*60*1000L); } } + } catch (InterruptedException e) { + if(Controller.isStopping()) { + LOGGER.info("Block Pruning Shutting Down"); + } + else { + LOGGER.warn("Block Pruning interrupted. Trying again. Report this error immediately to the developers.", e); + } } catch (Exception e) { LOGGER.warn("Block Pruning stopped working. Trying again. Report this error immediately to the developers.", e); } diff --git a/src/main/java/org/qortal/controller/repository/OnlineAccountsSignaturesTrimmer.java b/src/main/java/org/qortal/controller/repository/OnlineAccountsSignaturesTrimmer.java index e8c35359..66ea1c39 100644 --- a/src/main/java/org/qortal/controller/repository/OnlineAccountsSignaturesTrimmer.java +++ b/src/main/java/org/qortal/controller/repository/OnlineAccountsSignaturesTrimmer.java @@ -76,6 +76,13 @@ public class OnlineAccountsSignaturesTrimmer implements Runnable { LOGGER.info(() -> String.format("Bumping online accounts signatures base trim height to %d", finalTrimStartHeight)); } } + } catch (InterruptedException e) { + if(Controller.isStopping()) { + LOGGER.info("Online Accounts Signatures Trimming Shutting Down"); + } + else { + LOGGER.warn("Online Accounts Signatures Trimming interrupted. Trying again. Report this error immediately to the developers.", e); + } } catch (Exception e) { LOGGER.warn("Online Accounts Signatures Trimming stopped working. Trying again. Report this error immediately to the developers.", e); } diff --git a/src/main/java/org/qortal/repository/BlockArchiveWriter.java b/src/main/java/org/qortal/repository/BlockArchiveWriter.java index 7ff9d8b9..901dab89 100644 --- a/src/main/java/org/qortal/repository/BlockArchiveWriter.java +++ b/src/main/java/org/qortal/repository/BlockArchiveWriter.java @@ -153,12 +153,16 @@ public class BlockArchiveWriter { int i = 0; while (headerBytes.size() + bytes.size() < this.fileSizeTarget) { + // pause, since this can be a long process and other processes need to execute + Thread.sleep(Settings.getInstance().getArchivingPause()); + if (Controller.isStopping()) { return BlockArchiveWriteResult.STOPPING; } - // pause, since this can be a long process and other processes need to execute - Thread.sleep(Settings.getInstance().getArchivingPause()); + // wait until the Synchronizer stops + if( Synchronizer.getInstance().isSynchronizing() ) + continue; int currentHeight = startHeight + i; if (currentHeight > endHeight) { diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java index 25d084ea..049e98aa 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java @@ -770,9 +770,6 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { LOGGER.info("Db Enabled Cache has zero candidates."); } } - else { - LOGGER.info("Db Cache Disabled."); - } StringBuilder sql = new StringBuilder(512); List bindParams = new ArrayList<>();