Skip to content

aws_route53_zone.enable_accelerated_recovery = true fails on multiple simultaneous updates #45613

@jessefarinacci

Description

@jessefarinacci

Terraform and AWS Provider Version

tofu version
OpenTofu v1.11.1
on darwin_arm64
+ provider registry.opentofu.org/hashicorp/archive v2.7.1
+ provider registry.opentofu.org/hashicorp/aws v6.25.0
+ provider registry.opentofu.org/hashicorp/awscc v1.66.0
+ provider registry.opentofu.org/hashicorp/local v2.6.1
+ provider registry.opentofu.org/hashicorp/null v3.2.4
+ provider registry.opentofu.org/hashicorp/random v3.7.2

Affected Resource(s) or Data Source(s)

  • aws_route53_zone

Expected Behavior

Projects with multiple aws_route53_zone.enable_accelerated_recovery = true settings do not cause the $IAC apply to fail, perhaps they can be gated/serialized with a mutex or something.

Actual Behavior

Existing zones, I tried to enable the hot new Route53 stuff and the provider blew up:

tofu apply
module.z1.aws_route53_zone.default: Modifying... [id=Z0xx]
module.z2.aws_route53_zone.default: Modifying... [id=Z0yy]

│ Error: updating Route53 Hosted Zone (Z0xx) accelerated recovery: updating Route53 Hosted Zone (Z0xx) accelerated recovery: operation error Route 53: UpdateHostedZoneFeatures, https response error StatusCode: 400, RequestID: u-u-i-d, LimitsExceeded: Accelerated recovery can only be updated for 1 hosted zone at a time

│ with module.z1.aws_route53_zone.default,
│ on ../modules/route53/hosted-zone/route53.tf line 5, in resource "aws_route53_zone" "default":
│ 5: resource "aws_route53_zone" "default" {

│ Error: updating Route53 Hosted Zone (Z0yy) accelerated recovery: updating Route53 Hosted Zone (Z0yy) accelerated recovery: operation error Route 53: UpdateHostedZoneFeatures, https response error StatusCode: 400, RequestID: u-u-i-d, LimitsExceeded: Accelerated recovery can only be updated for 1 hosted zone at a time

│ with module.z2.aws_route53_zone.default,
│ on ../modules/route53/hosted-zone/route53.tf line 5, in resource "aws_route53_zone" "default":
│ 5: resource "aws_route53_zone" "default" {

Relevant Error/Panic Output

see above

Sample Terraform Configuration

Click to expand configuration
module "z1" { src = hz; name = "xx.com" }
module "z2" { src = hz; name = "yy.com" }
# module.hosted-zone
resource "aws_route53_zone" "default" {
  name                        = var.name
  comment                     = var.name
  enable_accelerated_recovery = true
}

Steps to Reproduce

  1. both zones already exist, i'm updating to enable the accelerated recovery
  2. tofu apply -parallelism=$(nproc)
  3. boom

Debug Logging

Click to expand log output

GenAI / LLM Assisted Development

n/a

Important Facts and References

both zones exist, this happens reliably; easy work around is to just target one zone first and let it go

Would you like to implement a fix?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAddresses a defect in current functionality.service/route53Issues and PRs that pertain to the route53 service.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions