.withExecutor(spannerWatchdog) .withCheckInterval(checkInterval) .withClock(NanoClock.getDefaultClock());
/** * Creates the polling algorithm, using the default {@code NanoClock} for time computations. * * @param globalSettings the settings * @return timed poll algorithm */ public static OperationTimedPollAlgorithm create(RetrySettings globalSettings) { return new OperationTimedPollAlgorithm(globalSettings, NanoClock.getDefaultClock()); }
/** * Creates the polling algorithm, using the default {@code NanoClock} for time computations. * * @param globalSettings the settings * @return timed poll algorithm */ public static OperationTimedPollAlgorithm create(RetrySettings globalSettings) { return new OperationTimedPollAlgorithm(globalSettings, NanoClock.getDefaultClock()); }
private <ReqT, RespT> RetryingUnaryOperation<ReqT, RespT> createUnaryListener( ReqT request, BigtableAsyncRpc<ReqT, RespT> rpc, String resource) { CallOptions callOptions = CallOptions.DEFAULT; Metadata metadata = createMetadata(resource); return new RetryingUnaryOperation<>(retryOptions, request, rpc, callOptions, retryExecutorService, metadata, NanoClock.getDefaultClock()); }
public static Builder newBuilder() { return new AutoValue_ClientContext.Builder() .setBackgroundResources(Collections.<BackgroundResource>emptyList()) .setExecutor(Executors.newScheduledThreadPool(0)) .setHeaders(Collections.<String, String>emptyMap()) .setInternalHeaders(Collections.<String, String>emptyMap()) .setClock(NanoClock.getDefaultClock()) .setStreamWatchdog(null) .setStreamWatchdogCheckInterval(Duration.ZERO) .setTracerFactory(NoopApiTracerFactory.getInstance()); }
public static Builder newBuilder() { return new AutoValue_ClientContext.Builder() .setBackgroundResources(Collections.<BackgroundResource>emptyList()) .setExecutor(Executors.newScheduledThreadPool(0)) .setHeaders(Collections.<String, String>emptyMap()) .setInternalHeaders(Collections.<String, String>emptyMap()) .setClock(NanoClock.getDefaultClock()) .setStreamWatchdog(null) .setStreamWatchdogCheckInterval(Duration.ZERO) .setTracerFactory(NoopApiTracerFactory.getInstance()); }
@Override protected RetryAlgorithm<String> getAlgorithm( RetrySettings retrySettings, int apocalypseCountDown, RuntimeException apocalypseException) { return new RetryAlgorithm<>( new TestResultRetryAlgorithm<String>(apocalypseCountDown, apocalypseException), new ExponentialRetryAlgorithm(retrySettings, NanoClock.getDefaultClock())); }
@Test public void testPollExceptionByPollAlgorithm() throws Exception { RetrySettings retrySettings = FAST_RETRY_SETTINGS .toBuilder() .setInitialRetryDelay(Duration.ofMillis(Integer.MAX_VALUE)) .setMaxRetryDelay(Duration.ofMillis(Integer.MAX_VALUE)) .build(); RetryAlgorithm<String> retryAlgorithm = new RetryAlgorithm<>( new TestResultRetryAlgorithm<String>(0, null), new ExponentialPollAlgorithm(retrySettings, NanoClock.getDefaultClock())); RetryingExecutorWithContext<String> executor = getExecutor(retryAlgorithm); FailingCallable callable = new FailingCallable(6, "FAILURE", tracer); RetryingFuture<String> future = executor.createFuture(callable, retryingContext); future.setAttemptFuture(executor.submit(future)); assertFutureFail(future, PollException.class); assertTrue(future.getAttemptSettings().getAttemptCount() < 4); verify(tracer, times(1)).attemptStarted(anyInt()); verify(tracer, times(1)).attemptPermanentFailure(any(PollException.class)); verifyNoMoreInteractions(tracer); }
.withExecutor(spannerWatchdog) .withCheckInterval(checkInterval) .withClock(NanoClock.getDefaultClock());
protected Builder(ClientContext clientContext) { if (clientContext == null) { this.executorProvider = InstantiatingExecutorProvider.newBuilder().build(); this.transportChannelProvider = null; this.credentialsProvider = NoCredentialsProvider.create(); this.headerProvider = new NoHeaderProvider(); this.internalHeaderProvider = new NoHeaderProvider(); this.clock = NanoClock.getDefaultClock(); this.endpoint = null; this.streamWatchdogProvider = InstantiatingWatchdogProvider.create(); this.streamWatchdogCheckInterval = Duration.ofSeconds(10); this.tracerFactory = NoopApiTracerFactory.getInstance(); } else { this.executorProvider = FixedExecutorProvider.create(clientContext.getExecutor()); this.transportChannelProvider = FixedTransportChannelProvider.create(clientContext.getTransportChannel()); this.credentialsProvider = FixedCredentialsProvider.create(clientContext.getCredentials()); this.headerProvider = FixedHeaderProvider.create(clientContext.getHeaders()); this.internalHeaderProvider = FixedHeaderProvider.create(clientContext.getInternalHeaders()); this.clock = clientContext.getClock(); this.endpoint = clientContext.getEndpoint(); this.streamWatchdogProvider = FixedWatchdogProvider.create(clientContext.getStreamWatchdog()); this.streamWatchdogCheckInterval = clientContext.getStreamWatchdogCheckInterval(); this.tracerFactory = clientContext.getTracerFactory(); } }
protected Builder(ClientContext clientContext) { if (clientContext == null) { this.executorProvider = InstantiatingExecutorProvider.newBuilder().build(); this.transportChannelProvider = null; this.credentialsProvider = NoCredentialsProvider.create(); this.headerProvider = new NoHeaderProvider(); this.internalHeaderProvider = new NoHeaderProvider(); this.clock = NanoClock.getDefaultClock(); this.endpoint = null; this.streamWatchdogProvider = InstantiatingWatchdogProvider.create(); this.streamWatchdogCheckInterval = Duration.ofSeconds(10); this.tracerFactory = NoopApiTracerFactory.getInstance(); } else { this.executorProvider = FixedExecutorProvider.create(clientContext.getExecutor()); this.transportChannelProvider = FixedTransportChannelProvider.create(clientContext.getTransportChannel()); this.credentialsProvider = FixedCredentialsProvider.create(clientContext.getCredentials()); this.headerProvider = FixedHeaderProvider.create(clientContext.getHeaders()); this.internalHeaderProvider = FixedHeaderProvider.create(clientContext.getInternalHeaders()); this.clock = clientContext.getClock(); this.endpoint = clientContext.getEndpoint(); this.streamWatchdogProvider = FixedWatchdogProvider.create(clientContext.getStreamWatchdog()); this.streamWatchdogCheckInterval = clientContext.getStreamWatchdogCheckInterval(); this.tracerFactory = clientContext.getTracerFactory(); } }