-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dynamodb-local plan / apply fails on UnknownOperationException for DescribeTimeToLive #1059
Comments
It goes farther than
Probably means that several calls are going to need to be skipped in the event of DynamoDB local (and it will have to be detected somehow). |
@vancluever Detecting the difference seems to be the big issue here. I can't identify a non-hack call that could be made to figure it out. Perhaps a good path is to add a |
Yeah, I agree. I don't see that being a really invasive change either and it will be easy to check against when making calls. |
I'm not a Go developer, so I won't be able to write the patch, but if it helps, I could run through the current DynamoAPI and identify all of the calls that currently fail and report back the list. Just let me know. |
Hey folks, To resume, this issue is happening ONLY when using a local DynamoDB, with new API Calls unsupported by the local API (describe TTL, probably Accelerator, tags, ...). At this point, the only thing we could do is to catch the UnknownOperationException.. @bglick could you check using the latest version of the local DynamoDB? Also, what do you mean by Thanks! |
It looks me it is more of a bug from the AWS side that they miss to take care in DynamoDB local. |
@Ninir I'll try to get to documenting the list of calls against the most recent this week. As far as This way the vast majority of executions that are not using the local version don't have to have some sort of hack in the code to try to figure out if they're touching the local server before executing (which could potentially introduce all sorts of bugs). |
@stevenao Agreed, the ttl should be a stub, at least. The fact that we have to patch around this is absurd |
Someone should press AWS to handle those operations in their dynamodb local implementation. They can always just do no-op and let the api through. It is not hard to add. As a matter of fact, one can create a reverse proxy and handle the new operations api, but forward the known ones to dynamodb local instance. |
@stevenao I had the same thought about a reverse proxy and found a potential candidate in this repo however just from looking at the code it seems that it doesn't do what we need it to. I'm wondering how difficult this would be to implement, or if it's even worth it 🤔 That is of course if no-one else has already done this... |
@ben-bourdin451 Local-Stack. That stuff looks a little overwhelming to me. Anyways, I put together a POC into a new repo (https://github.com/stevenao/dynamodb-local-mock-unsupported-api). It is currently mocking out the |
@stevenao Thanks for that! I briefly tested this today and had some issues but I will comment on your repo 😄 |
Pull request on localstack fixing this issue localstack/localstack#599 |
I just created a PR to work around the issue reading tags (#6149). I wasn't able to reproduce the issue with TTL. Maybe they fixed it with the more recent dynamodb-local versions? Can anyone confirm this? It looks like dynamodb-local doesn't support setting TTLs (persistent diff), but Terraform does not seem to crash for me. UPDATE: Found this in the release notes in the zip file (from here).
But this date is earlier than when this issue was opened. Was an old version used perhaps? |
Marking this issue as stale due to inactivity. This helps our maintainers find and focus on the active issues. If this issue receives no comments in the next 30 days it will automatically be closed. Maintainers can also remove the stale label. If this issue was automatically closed and you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thank you! |
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 feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks! |
Terraform Version
0.9.11 (also tested 0.9.8)
Affected Resource(s)
Please list the resources as a list, for example:
Terraform Configuration Files
Debug Output
https://gist.github.com/bglick/35899492e8ec5f9ab8908f5f24d863fa
Error is around line 50
Expected Behavior
Running plan after applying the first time should produce no changes
Actual Behavior
Error is generated,
UnknownOperationException
which is really dynamo returning a400
for the call todynamodb/DescribeTimeToLive
Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
terraform apply
terraform plan
Important Factoids
References
Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example:
The text was updated successfully, but these errors were encountered: