Skip to content

Commit 179d4ce

Browse files
committed
Bring back 500ms interval for retries and log for waitForSidecar
Signed-off-by: Artur Souza <[email protected]>
1 parent 3edbe3e commit 179d4ce

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

sdk-tests/src/test/java/io/dapr/it/resiliency/WaitForSidecarIT.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,14 @@
1313

1414
package io.dapr.it.resiliency;
1515

16-
import io.dapr.client.DaprClient;
17-
import io.dapr.client.DaprClientImpl;
18-
import io.dapr.client.resiliency.ResiliencyOptions;
1916
import io.dapr.it.BaseIT;
2017
import io.dapr.it.DaprRun;
2118
import io.dapr.it.ToxiProxyRun;
22-
import org.junit.jupiter.api.AfterAll;
2319
import org.junit.jupiter.api.BeforeAll;
2420
import org.junit.jupiter.api.Test;
2521

26-
import java.nio.charset.StandardCharsets;
2722
import java.time.Duration;
28-
import java.util.Base64;
29-
import java.util.UUID;
30-
import java.util.concurrent.atomic.AtomicInteger;
3123

32-
import static org.junit.jupiter.api.Assertions.assertEquals;
3324
import static org.junit.jupiter.api.Assertions.assertThrows;
3425
import static org.junit.jupiter.api.Assertions.assertTrue;
3526

sdk/src/main/java/io/dapr/client/DaprClientImpl.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@
8181
import io.grpc.stub.AbstractStub;
8282
import io.grpc.stub.StreamObserver;
8383
import org.jetbrains.annotations.NotNull;
84+
import org.slf4j.Logger;
85+
import org.slf4j.LoggerFactory;
8486
import reactor.core.publisher.Flux;
8587
import reactor.core.publisher.FluxSink;
8688
import reactor.core.publisher.Mono;
@@ -97,7 +99,6 @@
9799
import java.util.Iterator;
98100
import java.util.List;
99101
import java.util.Map;
100-
import java.util.concurrent.ExecutionException;
101102
import java.util.function.Consumer;
102103
import java.util.function.Function;
103104
import java.util.stream.Collectors;
@@ -114,6 +115,8 @@
114115
*/
115116
public class DaprClientImpl extends AbstractDaprClient {
116117

118+
private final Logger logger;
119+
117120
/**
118121
* The GRPC managed channel to be used.
119122
*/
@@ -235,6 +238,7 @@ private DaprClientImpl(
235238
this.httpClient = httpClient;
236239
this.retryPolicy = retryPolicy;
237240
this.grpcInterceptors = new DaprClientGrpcInterceptors(daprApiToken, timeoutPolicy);
241+
this.logger = LoggerFactory.getLogger(DaprClientImpl.class);
238242
}
239243

240244
private CommonProtos.StateOptions.StateConsistency getGrpcStateConsistency(StateOptions options) {
@@ -279,7 +283,15 @@ public Mono<Void> waitForSidecar(int timeoutInMilliseconds) {
279283
null, "", null, null);
280284

281285
return responseMono
282-
.retryWhen(Retry.indefinitely())
286+
// No method to "retry forever every 500ms", so we make it practically forever.
287+
// 9223372036854775807 * 500 ms = 1.46235604 x 10^11 years
288+
// If anyone needs to wait for the sidecar for longer than that, sorry.
289+
.retryWhen(
290+
Retry
291+
.fixedDelay(Long.MAX_VALUE, Duration.ofMillis(500))
292+
.doBeforeRetry(s -> {
293+
this.logger.info("Retrying sidecar health check ...");
294+
}))
283295
.timeout(Duration.ofMillis(timeoutInMilliseconds))
284296
.onErrorResume(DaprException.class, e ->
285297
Mono.error(new RuntimeException(e)))

0 commit comments

Comments
 (0)