AWS IoT RoboRunner eventual consistency
AWS IoT RoboRunner is an eventually consistent system. It is possible to receive a
ResourceNotFoundException
or ConflictException
when performing sequential operations. For example, a
ResourceNotFoundException
may be thrown when calling
DeleteSite
immediately after calling CreateSite
,
and a ConflictException
may be thrown when calling
DeleteFleet
immediately after deleting all workers associated
with the fleet.
We recommend that you configure a retry strategy on your AWS IoT RoboRunner clients so that failures are automatically retried. You should expect no more than a 2-second delay when waiting for the system to converge.
The following example shows how to configure the AWS IoT RoboRunner Java client so that a default retry policy is used on any error. For additional information, see Error retries and exponential backoff in AWS.
AWSIoTRoboRunnerClientBuilder.standard() .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration( "https://iotroborunner.us-east-1.amazonaws.com", "us-east-1") .withClientConfiguration(ClientConfiguration().withRetryPolicy(ClientConfiguration.DEFAULT_RETRY_POLICY)) .build();