fix(DBCluster): fix local write forwarding error on cluster update (c… #563
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a continuation for PR #552 which to fix an issue causing resource updates to fail with a "Local Write Forwarding is already disabled/enabled on cluster" error.
This issue occurs because RDS validates the
enableLocalWriteForwarding
variable and will throw an exception if it is already disabled/enabled but still receives the same value in the modify request. PR #552 introduced a fix to setenableLocalWriteForwarding
in the modify request only when this property is actually changing in the CFN template. However, there are two issues remaining:null -> false
still encounters an 'already disabled' exception because CFN passesfalse
to the modify request when the status is alreadyfalse
.true -> null
fails to update the LocalWriteForwarding status to disabled. This occurs because CFN passesnull
to the modify request, which results in RDS not updating the status.This fix did the following:
enableLocalWriteForwarding: null
when the property is fromnull -> false
, allows RDS to retain the status asfalse
without throwing an exception."enableLocalWriteForwarding: false
when the property is fromtrue -> null
, forces RDS to update the status tofalse
.Below is the truth table after the fix:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.