head lag observer throttling - fix test (#170)

This commit is contained in:
a10zn8
2023-03-17 18:42:09 +03:00
committed by GitHub
parent 1ef8b7499c
commit 153e5115ff
2 changed files with 5 additions and 4 deletions

View File

@@ -34,7 +34,8 @@ typealias Extractor = (top: BlockContainer, curr: BlockContainer) -> DistanceExt
abstract class HeadLagObserver( abstract class HeadLagObserver(
private val master: Head, private val master: Head,
private val followers: Collection<Upstream>, private val followers: Collection<Upstream>,
private val distanceExtractor: Extractor private val distanceExtractor: Extractor,
private val throttling: Duration = Duration.ofSeconds(5)
) : Lifecycle { ) : Lifecycle {
private val log = LoggerFactory.getLogger(HeadLagObserver::class.java) private val log = LoggerFactory.getLogger(HeadLagObserver::class.java)
@@ -57,7 +58,7 @@ abstract class HeadLagObserver(
fun subscription(): Flux<Unit> { fun subscription(): Flux<Unit> {
return master.getFlux() return master.getFlux()
.sample(Duration.ofSeconds(5)) .sample(throttling)
.flatMap(this::probeFollowers) .flatMap(this::probeFollowers)
.map { item -> .map { item ->
item.t2.setLag(item.t1) item.t2.setLag(item.t1)

View File

@@ -72,7 +72,7 @@ class HeadLagObserverSpec extends Specification {
HeadLagObserver observer = new TestHeadLagObserver(master, [up1, up2]) HeadLagObserver observer = new TestHeadLagObserver(master, [up1, up2])
when: when:
def act = observer.subscription().take(Duration.ofMillis(1200)) def act = observer.subscription().take(Duration.ofMillis(5000))
then: then:
StepVerifier.create(act) StepVerifier.create(act)
@@ -111,7 +111,7 @@ class HeadLagObserverSpec extends Specification {
class TestHeadLagObserver extends HeadLagObserver { class TestHeadLagObserver extends HeadLagObserver {
TestHeadLagObserver(@NotNull Head master, @NotNull Collection<? extends Upstream> followers) { TestHeadLagObserver(@NotNull Head master, @NotNull Collection<? extends Upstream> followers) {
super(master, followers, DistanceExtractor.@Companion::extractPowDistance) super(master, followers, DistanceExtractor.@Companion::extractPowDistance, Duration.ofNanos(1))
} }
@Override @Override