Skip to content

Commit

Permalink
- set throttled logger timeout for 20 minutes
Browse files Browse the repository at this point in the history
- set astar chain block time to 1m
- add throttled log to liveness checker
  • Loading branch information
a10zn8 authored Oct 25, 2023
1 parent 8aa89a1 commit defc0b5
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion foundation/src/main/resources/chains.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,7 @@ chain-settings:
label: Astar zkEVM
type: eth
settings:
expected-block-time: 2s
expected-block-time: 1m
options:
validate-peers: false
lags:
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/io/emeraldpay/dshackle/ThrottledLogger.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class ThrottledLogger {
companion object {

private val cache = Caffeine.newBuilder()
.expireAfterWrite(Duration.ofMinutes(1))
.expireAfterWrite(Duration.ofMinutes(20))
.build<String, Boolean>()

fun log(log: Logger, msg: String) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.emeraldpay.dshackle.upstream.ethereum

import io.emeraldpay.dshackle.ThrottledLogger
import io.emeraldpay.dshackle.upstream.Head
import org.slf4j.LoggerFactory
import reactor.core.publisher.Flux
Expand All @@ -26,7 +27,11 @@ class HeadLivenessValidator(
if (value) {
Pair(acc.first + 1, true)
} else {
log.debug("non consecutive blocks in head for $upstreamId")
if (log.isDebugEnabled) {
log.debug("non consecutive blocks in head for $upstreamId")
} else {
ThrottledLogger.log(log, "non consecutive blocks in head for $upstreamId")
}
Pair(0, false)
}
}.flatMap { (count, value) ->
Expand All @@ -40,7 +45,11 @@ class HeadLivenessValidator(
}.timeout(
expectedBlockTime.multipliedBy(CHECKED_BLOCKS_UNTIL_LIVE.toLong() * 2),
Flux.just(false).doOnNext {
log.debug("head liveness check broken with timeout in $upstreamId")
if (log.isDebugEnabled) {
log.debug("head liveness check broken with timeout in $upstreamId")
} else {
ThrottledLogger.log(log, "head liveness check broken with timeout in $upstreamId")
}
},
).repeat().subscribeOn(scheduler)
}
Expand Down

0 comments on commit defc0b5

Please sign in to comment.