From 60d71863dc5c75f37a38ab0ace41fed75f56fe47 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sun, 30 Jan 2022 17:11:30 +0000 Subject: [PATCH] Allow 3 seconds for the synchronizer to obtain a blockchain lock, to reduce missed attempts. --- src/main/java/org/qortal/controller/Synchronizer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/controller/Synchronizer.java b/src/main/java/org/qortal/controller/Synchronizer.java index 41ed06a8..25c10fd6 100644 --- a/src/main/java/org/qortal/controller/Synchronizer.java +++ b/src/main/java/org/qortal/controller/Synchronizer.java @@ -5,6 +5,7 @@ import java.security.SecureRandom; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; @@ -862,7 +863,7 @@ public class Synchronizer extends Thread { // Make sure we're the only thread modifying the blockchain // If we're already synchronizing with another peer then this will also return fast ReentrantLock blockchainLock = Controller.getInstance().getBlockchainLock(); - if (!blockchainLock.tryLock()) { + if (!blockchainLock.tryLock(3, TimeUnit.SECONDS)) // Wasn't peer's fault we couldn't sync LOGGER.debug("Synchronizer couldn't acquire blockchain lock"); return SynchronizationResult.NO_BLOCKCHAIN_LOCK;