Closed ann8ty closed 2 months ago
@ann8ty I need your connection id to investigate the issue. And also I need a timeline when you were trying to apply these changes to find the logs on API side.
Modifying... [id=xxx] - here please do not hide the id.
How are they locked? How do they get unlocked?
Most likely it's a streaming tables, but the connector doesn't configured to support streaming. Could you please share a screenshot of schema tab for this connector. The table couldn't be un-locked. You just can't manage it's state. In UI warning should look like this:
Here in our docs you can read about how to configure streams: https://fivetran.com/docs/connectors/databases/dynamodb/setup-guide#enablestreamsforamazondynamodbtables
even though it says it failed, on the next run, after commenting out it tries to remove (terraform state)
- a5-n-ns-x = {
- enabled = true
}
- a5-n-rt-x = {
- enabled = true
}
but it is not checked / enabled in the fivetran UI
As a WA I could suggest to not to comment it out, but to set it disabled in config:
"a5-n-ns-x" = { enabled = false }
In that case Terraform shouldn't try to change it's state.
I wrote python automation to confirm that streams were enabled. They were.
Could we work over support channel to provide additional info if you need it, such as IDs?
I've already worked around the issue and got it into a working state.
Could we work over support channel to provide additional info if you need it, such as IDs?
Sure, it's always an optiona to file a support ticket to Fivetran support. Actually - the table could be deleted from source.
I'm currently adding more detailed output for this error, we will provide reason for lock in output. So it should be easier to figure out what is the reason.
I'm currently working on these issues you've reported. So the main problem is with validation. Once you've provide a setting for a table that might be later removed from source (on the source DB side) - it will lead to element vanished
issue.
Once you've made a mistake in some table name -> you'll get element vanished
on first refresh after creation etc.
So now I'm thinking to rework the resource input validation and introduce two modes: Strict and Soft. On Strict mode we will return error on attempt to setup any settings for schema/table/column that isn't represented in source schema. On Soft - just write a warning into terraform diagnostics output, but apply and save in state everything you've provided in .tf.
It is very unlikey there were "mistakes" in table names, the names are read via code into a json file, then TF reads directly from the json file. The tables were not new, either, having existed in fivetran for over a year.
The issue should be fixed by v1.2.0. Now we introduced precise validation for schemas/tables names. So provider will fetch recent schema from source if won't be able to find some table.
TF reads directly from the json file
And where this json file comes from?
Closing the issue as the fix was released. Feel free to re-open or open a new one id the fix didn't work for you.
Describe the bug Some DDB tables pass "plan" but fail in "apply".
To Reproduce
I tried with and without timeouts, no difference.
Expected behavior If the tables are locked in Fivetran, I would expect Fivetran to handle that internally. How are they locked? How do they get unlocked?
Logs & Output
even though it says it failed, on the next run, after commenting out it tries to remove (terraform state)
but it is not checked / enabled in the fivetran UI
Plugin version:
Additional context
brand new Terraform backend on v1.1.24
if i comment out the first failing one and run again, the second on fails
created a brand new schema and still getting this error
why is the table locked? how do i unlock it?