fix node status subsciption for gRPC upstreams

This commit is contained in:
Termina1
2023-01-05 20:34:56 +02:00
parent ad0cb4be1c
commit 85caff4537

View File

@@ -119,9 +119,11 @@ class SubscribeNodeStatus(
val statuses = upstream.observeStatus()
.distinctUntilChanged()
.takeUntil { it == UpstreamAvailability.UNAVAILABLE }
.takeUntil {
it == UpstreamAvailability.UNAVAILABLE && !upstream.isGrpc()
}
.map {
if (it == UpstreamAvailability.UNAVAILABLE) {
if (it == UpstreamAvailability.UNAVAILABLE && !upstream.isGrpc()) {
onUnavailable.accept(upstream.getId())
// cancel head subscription & reconnections when upstream becomes unavailable
cancel.tryEmitNext(true)