Closed slords closed 6 months ago
Voting for Prioritization
Volunteering to Work on This Issue
Hey @slords 👋 Thank you for taking the time to raise this! So that we have the information necessary to look into this, can you supply a sample Terraform configuration as well as debug logs (redacted as needed)?
Hello @justinretzolk, i have the same issue. Below is a sample Terraform configuration:
resource "aws_dms_replication_task" "my_replication_task" {
replication_instance_arn = aws_dms_replication_instance.my_replication_instance.replication_instance_arn
replication_task_id = "my-replication-task-with-validation"
source_endpoint_arn = aws_dms_endpoint.my_postgresql_db_source.endpoint_arn
table_mappings = jsonencode(var.my_table_mappings)
target_endpoint_arn = aws_dms_endpoint.my_postgresql_db_target.endpoint_arn
replication_task_settings = jsonencode(local.my_validation_task_settings)
migration_type = "full-load-and-cdc"
start_replication_task = false
}
locals{
my_validation_task_settings = {
"ValidationSettings" : {
"EnableValidation" : true,
"ThreadCount" : 5,
"PartitionSize" : 10000,
"ValidationOnly" : false,
"SkipLobColumns" : false,
"TableFailureMaxCount": 10,
"FailureMaxCount": 100
"RecordFailureDelayInMinutes": 1,
}
}
}
Terraform will perform the following actions:
# aws_dms_replication_task.my_replication_task will be updated in-place
~ resource "aws_dms_replication_task" "my_replication_task" {
id = "my-replication-task-with-validation"
~ replication_task_settings = jsonencode(
~ {
~ ValidationSettings = {
- HandleCollationDiff = false
- MaxKeyColumnSize = 8096
~ RecordFailureDelayInMinutes = 5 -> 1
- RecordFailureDelayLimitInMinutes = 0
- RecordSuspendDelayInMinutes = 30
- ValidationMode = "ROW_LEVEL"
- ValidationPartialLobSize = 0
- ValidationQueryCdcDelaySeconds = 0
# (7 unchanged attributes hidden)
}
}
)
}
After TF apply nothing is changed.
AWS Provider version: 5.25.0
This functionality has been released in v5.32.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.
For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!
This still isn't fixed. I'm currently using v5.34.0 of the AWS Terraform Provider:
Installing hashicorp/aws v5.34.0...
And Terraform is saying that it is going to change the value:
~ ValidationSettings = {
~ RecordFailureDelayInMinutes = 5 -> 30
# (14 unchanged attributes hidden)
}
However, checking the task after the fact it is still sitting at 5 minutes. And re-running the apply again tries to update the setting just like the first time through.
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Terraform Core Version
1.5.1
AWS Provider Version
5.2.0
Affected Resource(s)
When trying to set RecordFailureDelayInMinutes on a dms replication task the plan and apply show that it is going to apply the changes. However, when the apply is done nothing has changed. Checking the resource on AWS console shows it is still at the default value of 5. Re-running the apply or plan show that it wants to apply the change again.
Expected Behavior
The applied value is changed on the AWS resource.
Actual Behavior
Nothing
Relevant Error/Panic Output Snippet
Terraform Configuration Files
The following shows up for plan or apply but actually applying the change doesn't do anything.
Steps to Reproduce
Add parameter to existing replication_task_settings and apply
Debug Output
No response
Panic Output
No response
Important Factoids
No response
References
No response
Would you like to implement a fix?
None