Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix(docdb): cannot delete a stack with DatabaseCluster removal_policy set to 'Retain' #29059

Closed

Conversation

jadamariano
Copy link

Issue #29054

Closes #29054

Reason for this change

After creating a DocumentDB DatabaseCluster with a removal_policy set to Retain, the CloudFormation stack can not be deleted. The stack can not be deleted because the associated subnet group can not be removed if it points to an existing cluster.

Sample error from CloudFormation:
Got InvalidDBInstanceStateException with error: Cannot delete the subnet group '{subnet_group_name}' because at least one database instance: {instance_name} is still using it.

This same bug was happening for the aws-rds DatabaseCluster (#5282), until this fix came around. I suggest to make the same fix for the aws-docdb DatabaseCluster, where it sets the retention policy of DbSubnetGroup to 'Retain' if it is 'Retain' on the DatabaseCluster.

Description of changes

  1. Updated packages/aws-cdk-lib/aws-docdb/lib/cluster.ts to set the retention policy of DbSubnetGroup to 'Retain' if it is 'Retain' on the DatabaseCluster.
if (props.removalPolicy === RemovalPolicy.RETAIN) {
  subnetGroup.applyRemovalPolicy(RemovalPolicy.RETAIN);
}
  1. Added test case in packages/aws-cdk-lib/aws-docdb/test/cluster.test.ts for the scenario where the retention policy of DbSubnetGroup should be 'Retain' if it is 'Retain' on the DatabaseCluster.

Description of how you validated changes

Added test case in packages/aws-cdk-lib/aws-docdb/test/cluster.test.ts for the scenario where the retention policy of DbSubnetGroup should be 'Retain' if it is 'Retain' on the DatabaseCluster.

Also ran the integration tests for aws-docdb by using the command yarn integ --directory test/aws-docdb/test.

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added bug This issue is a bug. p2 labels Feb 9, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team February 9, 2024 22:34
@github-actions github-actions bot added the beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK label Feb 9, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@jadamariano jadamariano changed the title fix(aws-docdb): cannot delete a stack with DatabaseCluster removal_policy set to 'Retain' fix(docdb): cannot delete a stack with DatabaseCluster removal_policy set to 'Retain' Feb 9, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review February 12, 2024 17:40

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 4115a68
  • Result: FAILED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@aws-cdk-automation
Copy link
Collaborator

This PR has been in the BUILD FAILING state for 3 weeks, and looks abandoned. To keep this PR from being closed, please continue work on it. If not, it will automatically be closed in a week.

@aws-cdk-automation
Copy link
Collaborator

This PR has been deemed to be abandoned, and will be automatically closed. Please create a new PR for these changes if you think this decision has been made in error.

@aws-cdk-automation aws-cdk-automation added the closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. label Mar 14, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK bug This issue is a bug. closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. p2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(aws-docdb): cannot delete a stack with DatabaseCluster removal_policy set to 'Retain'
3 participants