Skip to content

[DynamoDB] Unable to create tables replicas in PROVISIONED billingMode #2610

@vishalkatikineni

Description

@vishalkatikineni

Describe the bug
Unable to create tables replicas in PROVISIONED mode.

Steps to reproduce

apiVersion: dynamodb.services.k8s.aws/v1alpha1
kind: Table
metadata:
  annotations:
    services.k8s.aws/region: us-east-1
  name: example-global-table
  namespace: test-resources
spec:
  attributeDefinitions:
  - attributeName: PK
    attributeType: S
  - attributeName: SK
    attributeType: S
  billingMode: PROVISIONED
  continuousBackups:
    pointInTimeRecoveryEnabled: true
  deletionProtectionEnabled: false
  keySchema:
  - attributeName: PK
    keyType: HASH
  - attributeName: SK
    keyType: RANGE
  provisionedThroughput:
    readCapacityUnits: 1
    writeCapacityUnits: 1
  streamSpecification:
    streamEnabled: true
    streamViewType: NEW_AND_OLD_IMAGES
  tableClass: STANDARD
  tableName: example-global-table
  tableReplicas:
  - provisionedThroughputOverride:
      readCapacityUnits: 2
    regionName: us-west-2
  tags:
  - key: Name
    value: example-global-table
status:
  ackResourceMetadata:
    arn: arn:aws:dynamodb:us-east-1:1234567890:table/example-global-table
    ownerAccountID: "1234567890"
    region: us-east-1
  conditions:
  - message: 'api error ValidationException: Table write capacity should either be
      Pay-Per-Request or AutoScaled.'
    status: "True"
    type: ACK.Terminal
  - lastTransitionTime: "2025-08-20T20:54:02Z"
    message: Resource not synced
    reason: resource is in terminal condition
    status: "False"
    type: ACK.ResourceSynced
  creationDateTime: "2025-08-20T20:53:40Z"
  itemCount: 0
  latestStreamARN: arn:aws:dynamodb:us-east-1:1234567890:table/example-global-table/stream/2025-08-20T20:53:40.423
  latestStreamLabel: 2025-08-20T20:53:40.423
  tableID: 9b7a588d-9e94-4efd-b390-cf95b21e8250
  tableSizeBytes: 0
  tableStatus: ACTIVE

Expected outcome
Expect the replicas to be created with the same provisioned throughput. As a workaround we are enabling auto-scaling manually through console, and this enables the DynamoDB controller to reconcile and create the replicas.

Environment
Dev

  • Kubernetes version
  • Using EKS (yes/no), if so version?
  • AWS service targeted (S3, RDS, etc.) DynamoDB

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.service/dynamodbIndicates issues or PRs that are related to dynamodb-controller.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions