/** * Sets the retry policy upon failed requests, and returns the updated ClientConfiguration * object. User could specify whether the RetryPolicy should honor maxErrorRetry set by * {@link #setMaxErrorRetry(int)} * * @param retryPolicy * The retry policy upon failed requests. */ public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
/** * Sets the retry policy upon failed requests, and returns the updated ClientConfiguration * object. User could specify whether the RetryPolicy should honor maxErrorRetry set by * {@link #setMaxErrorRetry(int)} * * @param retryPolicy * The retry policy upon failed requests. */ public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
/** * Sets the retry policy upon failed requests, and returns the updated * ClientConfiguration object. User could specify whether the RetryPolicy * should honor maxErrorRetry set by {@link #setMaxErrorRetry(int)} * * @param retryPolicy The retry policy upon failed requests. * @return the client configuration. */ @SuppressWarnings("checkstyle:hiddenfield") public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
private static ClientConfiguration adjustClientConfiguration(ClientConfiguration orig) { ClientConfiguration config = orig; config = new ClientConfiguration(orig); if (config.getRetryPolicy() == com.amazonaws.retry.PredefinedRetryPolicies.DEFAULT) { config.setRetryPolicy(com.amazonaws.retry.PredefinedRetryPolicies.DYNAMODB_DEFAULT); } return config; }
/** * -- Explicitly set maxErrorRetry in ClientConfiguration level; -- * Default/custom RetryPolicy's that don't override such setting. */ @Test public void testClientConfigLevelMaxErrorRetry() { int CLIENT_CONFIG_LEVEL_MAX_RETRY = random.nextInt(3); clientConfiguration.setMaxErrorRetry(CLIENT_CONFIG_LEVEL_MAX_RETRY); // SDK default policy should honor the ClientConfig level maxErrorRetry testActualRetries(CLIENT_CONFIG_LEVEL_MAX_RETRY); // DynamoDB default policy should also honor that clientConfiguration.setRetryPolicy(PredefinedRetryPolicies.DYNAMODB_DEFAULT); testActualRetries(CLIENT_CONFIG_LEVEL_MAX_RETRY); // A custom policy that honors the ClientConfig level maxErrorRetry clientConfiguration.setRetryPolicy(new RetryPolicy(null, null, 5, true)); testActualRetries(CLIENT_CONFIG_LEVEL_MAX_RETRY); }
/** * Sets the retry policy upon failed requests, and returns the updated ClientConfiguration * object. User could specify whether the RetryPolicy should honor maxErrorRetry set by * {@link #setMaxErrorRetry(int)} * * @param retryPolicy * The retry policy upon failed requests. */ public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
/** Reset the RetryPolicy and restart collecting context data */ @Before public void resetContextData() { retryCondition = new ContextDataCollectionRetryCondition(); backoffStrategy = new ContextDataCollectionBackoffStrategy(); // Reset the RetryPolicy clientConfiguration.setRetryPolicy( new RetryPolicy(retryCondition, backoffStrategy, EXPECTED_RETRY_COUNT, // max error retry false)); // ignore the maxErrorRetry in // ClientConfiguration level }
/** * -- Explicitly set maxErrorRetry in ClientConfiguration level; -- Custom * RetryPolicy's that want to override such setting. */ @Test public void testRetryPolicyLevelMaxErrorRetry() { // This should be ignored clientConfiguration.setMaxErrorRetry(random.nextInt(3)); // A custom policy that doesn't honor the ClientConfig level // maxErrorRetry int RETRY_POLICY_LEVEL_MAX_ERROR_RETRY = 5; clientConfiguration.setRetryPolicy(new RetryPolicy(null, null, RETRY_POLICY_LEVEL_MAX_ERROR_RETRY, false)); testActualRetries(RETRY_POLICY_LEVEL_MAX_ERROR_RETRY); // A custom policy that "honors" the ClientConfig level maxErrorRetry, // but actually denies any retry in its condition. clientConfiguration.setRetryPolicy(new RetryPolicy( new RetryPolicy.RetryCondition() { @Override public boolean shouldRetry( AmazonWebServiceRequest originalRequest, AmazonClientException exception, int retriesAttempted) { return false; } }, null, RETRY_POLICY_LEVEL_MAX_ERROR_RETRY, true) ); // No retry is expected testActualRetries(0); }
/** * Sets the retry policy upon failed requests, and returns the updated * ClientConfiguration object. User could specify whether the RetryPolicy * should honor maxErrorRetry set by {@link #setMaxErrorRetry(int)} * * @param retryPolicy The retry policy upon failed requests. * @return the client configuration. */ @SuppressWarnings("checkstyle:hiddenfield") public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
/** * Sets the retry policy upon failed requests, and returns the updated * ClientConfiguration object. User could specify whether the RetryPolicy * should honor maxErrorRetry set by {@link #setMaxErrorRetry(int)} * * @param retryPolicy The retry policy upon failed requests. * @return the client configuration. */ @SuppressWarnings("checkstyle:hiddenfield") public ClientConfiguration withRetryPolicy(RetryPolicy retryPolicy) { setRetryPolicy(retryPolicy); return this; }
/** * -- No explicit calls on ClientConfiguration#setMaxErrorRetry(int); -- * Default RetryPolicy's. */ @Test public void testDefaultMaxErrorRetry() { /* SDK default */ Assert.assertTrue(clientConfiguration.getRetryPolicy() == PredefinedRetryPolicies.DEFAULT); // Don't change any of the default settings in ClientConfiguration testActualRetries(PredefinedRetryPolicies.DEFAULT_MAX_ERROR_RETRY); /* DynamoDB default */ // Change to dynamodb default policy. clientConfiguration.setRetryPolicy(PredefinedRetryPolicies.DYNAMODB_DEFAULT); testActualRetries(PredefinedRetryPolicies.DYNAMODB_DEFAULT_MAX_ERROR_RETRY); }
private void static createSnsClient() { Region region = Region.getRegion(Regions.AP_SOUTHEAST_1); AWSCredentials credentials = new BasicAWSCredentials(AwsPropertyLoader.getInstance().getAccessKey(), AwsPropertyLoader.getInstance().getSecretKey()); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setMaxErrorRetry(25); clientConfiguration.setRetryPolicy(new RetryPolicy(null, null, 25, true)); mSnsClient = new AmazonSNSClient(credentials, clientConfiguration); mSnsClient.setRegion(region); }
private static ClientConfiguration getClientConfiguration(EnvVars vars) { ClientConfiguration clientConfiguration = new ClientConfiguration(); //the default max retry is 3. Increasing this to be more resilient to upstream errors clientConfiguration.setRetryPolicy(new RetryPolicy(null, null, 10, false)); ProxyConfiguration.configure(vars, clientConfiguration); return clientConfiguration; }
protected ClientConfiguration getClientConfiguration(PluginTask task) { ClientConfiguration clientConfig = new ClientConfiguration(); //clientConfig.setProtocol(Protocol.HTTP); clientConfig.setMaxConnections(50); // SDK default: 50 // clientConfig.setMaxErrorRetry(3); // SDK default: 3 clientConfig.setSocketTimeout(8 * 60 * 1000); // SDK default: 50*1000 clientConfig.setRetryPolicy(PredefinedRetryPolicies.NO_RETRY_POLICY); // set http proxy if (task.getHttpProxy().isPresent()) { setHttpProxyInAwsClient(clientConfig, task.getHttpProxy().get()); } return clientConfig; }
@Override public Object load(AmazonClientKey<?> key) throws Exception { Method m = key.implClass.getDeclaredMethod("standard"); AwsClientBuilder<?, ?> builder = key.implClass.cast(m.invoke(null)); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setRetryPolicy(getRetryPolicy(key)); clientConfiguration.setUseGzip(useGzip); clientConfiguration.setUserAgentSuffix("spinnaker"); if (proxy != null && proxy.isProxyConfigMode()) { proxy.apply(clientConfiguration); } builder.withCredentials(key.awsCredentialsProvider) .withClientConfiguration(clientConfiguration); getRequestHandlers(key).ifPresent(builder::withRequestHandlers); builder.withRegion(key.getRegion().orElseGet(() -> new SpinnakerAwsRegionProvider().getRegion())); return builder.build(); }
clientConfig.setRetryPolicy(new RetryPolicy(null, null, config.getInt("maxErrorRetry"), true)); clientConfig.setSocketTimeout(config.getInt("socketTimeout") * 1000);
public AmazonS3 newInstance(Configuration conf) { int maxErrorRetry = conf.getInt(ConfigurationVariable.UPLOAD_RETRY_COUNT.getName(), ConfigurationVariable.UPLOAD_RETRY_COUNT.defaultIntValue()); long errorRetryDelay = conf.getLong(ConfigurationVariable.UPLOAD_RETRY_DELAY_MS.getName(), ConfigurationVariable.UPLOAD_RETRY_DELAY_MS.defaultLongValue()); LOG.info("Creating AWS S3 client with a retry policy of {} retries and {} ms of exponential backoff delay", maxErrorRetry, errorRetryDelay); RetryPolicy retryPolicy = new RetryPolicy(new CounterBasedRetryCondition(maxErrorRetry), new ExponentialBackoffStrategy(errorRetryDelay), maxErrorRetry, true); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setRetryPolicy(retryPolicy); clientConfiguration.setMaxErrorRetry(maxErrorRetry); AmazonS3ClientBuilder builder = AmazonS3ClientBuilder .standard() .withCredentials(new HadoopAWSCredentialProviderChain(conf)) .withClientConfiguration(clientConfiguration); EndpointConfiguration endpointConfiguration = getEndpointConfiguration(conf); if (endpointConfiguration != null) { builder.withEndpointConfiguration(endpointConfiguration); } else { builder.withRegion(getRegion(conf)); } return builder.build(); }
public AmazonS3 newInstance(Configuration conf) { int maxErrorRetry = conf.getInt(ConfigurationVariable.UPLOAD_RETRY_COUNT.getName(), ConfigurationVariable.UPLOAD_RETRY_COUNT.defaultIntValue()); long errorRetryDelay = conf.getLong(ConfigurationVariable.UPLOAD_RETRY_DELAY_MS.getName(), ConfigurationVariable.UPLOAD_RETRY_DELAY_MS.defaultLongValue()); LOG.info("Creating AWS S3 client with a retry policy of {} retries and {} ms of exponential backoff delay", maxErrorRetry, errorRetryDelay); RetryPolicy retryPolicy = new RetryPolicy(new CounterBasedRetryCondition(maxErrorRetry), new ExponentialBackoffStrategy(errorRetryDelay), maxErrorRetry, true); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setRetryPolicy(retryPolicy); clientConfiguration.setMaxErrorRetry(maxErrorRetry); AmazonS3ClientBuilder builder = AmazonS3ClientBuilder .standard() .withCredentials(new HadoopAWSCredentialProviderChain(conf)) .withClientConfiguration(clientConfiguration); EndpointConfiguration endpointConfiguration = getEndpointConfiguration(conf); if (endpointConfiguration != null) { builder.withEndpointConfiguration(endpointConfiguration); } else { builder.withRegion(getRegion(conf)); } return builder.build(); }
clientConfiguration.setMaxErrorRetry(maxRetries); clientConfiguration .setRetryPolicy(new RetryPolicy(PredefinedRetryPolicies.DEFAULT_RETRY_CONDITION, PredefinedRetryPolicies.DEFAULT_BACKOFF_STRATEGY, maxRetries, true)); clientConfiguration.setUserAgent(AppenderConstants.USER_AGENT_STRING);
c.withRetryPolicy(rp); assertSame(rp, c.getRetryPolicy()); c.setRetryPolicy(null); assertNull(c.getRetryPolicy());