in src/main/java/com/amazonaws/services/dynamodbv2/streamsadapter/model/AmazonServiceExceptionTransformer.java [271:296]
public static AmazonServiceException transformDynamoDBStreamsToKinesisGetShardIterator(AmazonServiceException ase, SkipRecordsBehavior skipRecordsBehavior) {
final AmazonServiceException transformed;
if (ase == null) {
return ase;
}
if (ase instanceof InternalServerErrorException) { // (1)
transformed = new AmazonServiceException(buildErrorMessage(ase), ase);
} else if (ase instanceof com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException) { // (2)
if (skipRecordsBehavior == SkipRecordsBehavior.SKIP_RECORDS_TO_TRIM_HORIZON) {
transformed = new com.amazonaws.services.kinesis.model.ResourceNotFoundException(buildErrorMessage(ase));
} else {
throw new UnableToReadMoreRecordsException(TRIMMED_DATA_KCL_RETRY_MESSAGE, ase);
}
} else if (DYNAMODB_STREAMS_THROTTLING_EXCEPTION_ERROR_CODE.equals(ase.getErrorCode())) { // (3)
transformed = new com.amazonaws.services.kinesis.model.ProvisionedThroughputExceededException(buildErrorMessage(ase));
} else if (ase instanceof com.amazonaws.services.dynamodbv2.model.TrimmedDataAccessException) { // (4)
if (skipRecordsBehavior == SkipRecordsBehavior.SKIP_RECORDS_TO_TRIM_HORIZON) {
transformed = new com.amazonaws.services.kinesis.model.ResourceNotFoundException(buildErrorMessage(ase));
} else {
throw new UnableToReadMoreRecordsException(TRIMMED_DATA_KCL_RETRY_MESSAGE, ase);
}
} else {
transformed = null;
}
return applyFields(ase, transformed);
}