Skip to content

[Resource Type] - [BUG] -AWS::S3Tables::TableBucket fails without retrying when tablebucket was previously deleted #2423

@alessandrobologna

Description

@alessandrobologna

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions