diff --git a/build.gradle b/build.gradle index 4651a9d0..614f96b9 100644 --- a/build.gradle +++ b/build.gradle @@ -36,7 +36,7 @@ group = 'io.emeraldpay.dshackle' // Version schema: // x.x.x for production, following SemVer model // x.x.x-SNAPSHOT for development -version = '0.14.0-SNAPSHOT' +version = '0.15.0-SNAPSHOT' java { sourceCompatibility = JavaVersion.VERSION_13 @@ -177,7 +177,7 @@ jib { } } container { - jvmFlags = ['-Xms1024m', '-XX:MaxRAMPercentage=60'] + jvmFlags = ['-Xms1024m', '-Xmx4g'] mainClass = 'io.emeraldpay.dshackle.StarterKt' args = [] ports = ['2448', '2449', '8545'] diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt index f93152c0..77318863 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt @@ -53,11 +53,12 @@ abstract class AbstractHead( val delay = System.currentTimeMillis() - lastHeadUpdated if (delay > awaitHeadTimeoutMs) { log.warn("No head updates for $delay ms @ ${this.javaClass} - restart") - try { - lock.tryLock() - start() - } finally { - lock.unlock() + if (lock.tryLock()) { + try { + start() + } finally { + lock.unlock() + } } } }, 300, 30, TimeUnit.SECONDS