Skip to content

[DynamoDB] Adopting table with PAY_PER_REQUEST validation error #2437

@Juricakov

Description

@Juricakov

Describe the bug
Adopting PAY_PER_REQUEST table results in validation error.

api error ValidationException: 2 validation errors detected: Value ''0''
      at ''globalSecondaryIndexUpdates.1.member.update.provisionedThroughput.writeCapacityUnits''
      failed to satisfy constraint: Member must have value greater than or equal to
      1; Value ''0'' at ''globalSecondaryIndexUpdates.1.member.update.provisionedThroughput.readCapacityUnits''
      failed to satisfy constraint: Member must have value greater than or equal to
      1

After manually clearing spec.provisionedTroughput and globalSecondaryIndexes.[].provisionedTroughput, we get

api error ValidationException: One or more parameter values were invalid: The only Updates for index: <index name> when TableThroughputMode is PAY_PER_REQUEST can be to OnDemandThroughput, WarmThroughput'

Steps to reproduce

  1. Try adopting table that is configured with pay per request and global secondary indexes by setting annotations
    services.k8s.aws/adoption-fields: |
      {
        "tableName": "<name>"
      }
    services.k8s.aws/adoption-policy: adopt

Expected outcome
Table should be adopted without validation errors

Environment

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

Using ack DynamoDB controller v1.4.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/adoption-annotationIssues or PRs related to ACK Adoption by Annotation featureservice/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