-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Labels
Description
Name of the resource
Other
Resource Name
AWS::S3Tables::TableBucket
Issue Description
When you re-create a stack, after deleting the same stack because it failed in ROLLBACK_COMPLETE state, this resource fails to create again (causing another ROLLBACK_COMPLETE) with the message:
"The bucket is in a transitional state because of a previous deletion attempt. Try again later.
(Service: S3Tables, Status Code: 409, Request ID: <omitted>)
(SDK Attempt Count: 1)" (RequestToken: <omitted>, HandlerErrorCode: AlreadyExists)".
In CloudTrail, you can see the failure:
{
"eventVersion": "1.11",
"userIdentity": { ... },
"eventTime": "2025-11-06T03:39:47Z",
"eventSource": "s3tables.amazonaws.com",
"eventName": "CreateTableBucket",
"awsRegion": "us-east-1",
"sourceIPAddress": "cloudformation.amazonaws.com",
"userAgent": "cloudformation.amazonaws.com",
"errorCode": "ConflictException",
"requestParameters": {
"name": "example-table-bucket"
},
"responseElements": {
"message": "The bucket is in a transitional state because of a previous deletion attempt. Try again later."
},
"requestID": "<omitted>",
"eventID": "<omitted>",
"readOnly": false,
"resources": [
{
"accountId": "123456789012",
"type": "AWS::S3Tables::TableBucket",
"ARN": "arn:aws:s3tables:us-east-1:123456789012:bucket/*"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "123456789012",
"eventCategory": "Management"
}
The resource creation handler should retry with sleep/backoff at least a few times before failing, as cloudformation resources typically do. Failing force the user to deleted the stack, wait for an undetermined amount of time, and try again.
Expected Behavior
The resource is created after waiting for a success response
Observed Behavior
CloudFormation gives up at the first try.
Test Cases
Create a resource of this type:
Resources:
# ===== S3 Tables Bucket =====
IcebergTableBucket:
Type: AWS::S3Tables::TableBucket
Properties:
TableBucketName: !Sub '${AWS::StackName}-iceberg-${AWS::AccountId}'
Delete the stack, and recreate it, and observe the failure.
Other Details
No response