Subscribe on flux earlier. Fixes gh-802.

This commit is contained in:
Olga Maciaszek-Sharma
2020-08-11 13:05:07 +02:00
parent 0be2794631
commit 018aae3632
2 changed files with 2 additions and 3 deletions

View File

@@ -64,13 +64,14 @@ public class DiscoveryClientServiceInstanceListSupplier
resolveTimeout(environment);
this.serviceInstances = Flux
.defer(() -> Flux.just(delegate.getInstances(serviceId)))
.subscribeOn(Schedulers.boundedElastic())
.timeout(timeout, Flux.defer(() -> {
logTimeout();
return Flux.just(new ArrayList<>());
})).onErrorResume(error -> {
logException(error);
return Flux.just(new ArrayList<>());
}).subscribeOn(Schedulers.boundedElastic());
});
}
public DiscoveryClientServiceInstanceListSupplier(ReactiveDiscoveryClient delegate,

View File

@@ -20,7 +20,6 @@ import java.time.Duration;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.mockito.internal.stubbing.answers.AnswersWithDelay;
import org.mockito.internal.stubbing.answers.Returns;
@@ -173,7 +172,6 @@ class DiscoveryClientServiceInstanceListSupplierTests {
.verify(VERIFICATION_TIMEOUT);
}
@Disabled // see https://github.com/spring-cloud/spring-cloud-commons/issues/802
@Test
void shouldReturnEmptyInstancesListOnTimeoutBlockingClient() {
environment.setProperty(SERVICE_DISCOVERY_TIMEOUT, "100ms");