From fa3a81575a6f1a7de38c4edc8db6085cbaf33f9c Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sat, 14 May 2022 12:53:36 +0100 Subject: [PATCH] Reduce wasted time that could otherwise be spent validating queued transaction signatures. --- .../qortal/controller/TransactionImporter.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/qortal/controller/TransactionImporter.java b/src/main/java/org/qortal/controller/TransactionImporter.java index 9e90a8f0..5a2dab19 100644 --- a/src/main/java/org/qortal/controller/TransactionImporter.java +++ b/src/main/java/org/qortal/controller/TransactionImporter.java @@ -19,7 +19,6 @@ import org.qortal.utils.Base58; import org.qortal.utils.NTP; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; @@ -62,7 +61,7 @@ public class TransactionImporter extends Thread { try { while (!Controller.isStopping()) { - Thread.sleep(1000L); + Thread.sleep(500L); // Process incoming transactions queue validateTransactionsInQueue(); @@ -226,14 +225,9 @@ public class TransactionImporter extends Thread { return; } - try { - ReentrantLock blockchainLock = Controller.getInstance().getBlockchainLock(); - if (!blockchainLock.tryLock(2, TimeUnit.SECONDS)) { - LOGGER.debug("Too busy to import incoming transactions queue"); - return; - } - } catch (InterruptedException e) { - LOGGER.debug("Interrupted when trying to acquire blockchain lock"); + ReentrantLock blockchainLock = Controller.getInstance().getBlockchainLock(); + if (!blockchainLock.tryLock()) { + LOGGER.debug("Too busy to import incoming transactions queue"); return; } @@ -304,7 +298,6 @@ public class TransactionImporter extends Thread { } } finally { LOGGER.debug("Finished importing {} incoming transaction{}", processedCount, (processedCount == 1 ? "" : "s")); - ReentrantLock blockchainLock = Controller.getInstance().getBlockchainLock(); blockchainLock.unlock(); } } catch (DataException e) {