I think we have many problem with limit
Subscriber limit exceeded: Only 10 tables can be created, updated, or deleted simultaneously (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: LimitExceededException
Hi @Ahmed2Game
Could you please describe in more details how you've encountered this issue? i.e. Which category did you add/update before the push?
You've probably hit a CloudFormation limitation, there are a few of discussions about it online, such as
https://github.com/serverless/serverless/issues/3744
https://github.com/serverless/serverless/issues/2622
This problem if you build schema.graphql with more than 10 table when push api have this error
Dynamodb limitation 10 table in add update delete in same time
@Ahmed2Game That's a DynamoDB service limitation. The workaround for that would be to add 10 @model(s) in your schema at a time so that Dynamo can provision those 10 tables and then update the schema with the next 10 models and repeat the same pattern.
This limitation is only during the creation of the DynamoDB tables and shouldn't affect updates I beleive.
Yes this can help will try it thanks
We are working on solving these limits with CloudFormation and various other downstream services. The idea is that most of these issues can be solved by breaking the transform output into a set of nested stacks instead of just one. This is being actively worked on.
Adding a DependsOn
for each AWS::DynamoDB::Table
resource (as mentioned here: https://github.com/serverless/serverless/issues/3744#issuecomment-346182964) worked for me. This technique seems like a better alternative to manually adding tables and re-running deploy. Until nested stacks are implemented, I wonder if this could be a quick fix, maybe under a CLI flag option.
@mikeparisstuff Curious if there has been any movement on this?
Thank you for all the hard work being put into this tool.
I think I just found a GitHub bug...
I'm not sure why my comment unassigned @mikeparisstuff from this ticket. Sorry @kaustavghosh06 馃槢
Hey guys, this problems seems to have been mitigated with all the CLI versions > 1.0.0 which now supports nested stacks for deployment of your GraphQL API and you can deploy more than 10 models at a time.
Hey guys, this problems seems to have been mitigated with all the CLI versions > 1.0.0 which now supports nested stacks for deployment of your GraphQL API and you can deploy more than 10 models at a time.
@kaustavghosh06
I am still getting Subscriber limit exceeded ( I have more than 50 dynamo table ) and I am using amplify to create appsync resolvers and dynamodb table for all model
We also just faced this issue today. Unable to reproduce it every time, sometime it works, other times it doesn't
CREATE_FAILED UserSubscriptionDaysTable AWS::DynamoDB::Table Fri Apr 10 2020 23:00:40 GMT+0530 (India Standard Time) Subscriber limit exceeded: You have exceeded the maximum num
ber of indexed tables that can be created simultaneously (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: LimitExceededException; Request ID: JJ8K3E9LIQS5DMHRVNB44FIVI7VV4KQNSO5AEMVJF66Q9ASUAAJG)
Hello,
I'm having the same issue with Amplify 4.18.1.
We have 47 tables still an issue with 4.27.0. Adding dependOn works when creating envs manually but we are looking for a solution that will allow PR env to build automatically again which has been broken somewhere around 37 models.
I just ran into this same error. Could it be that there is a built-in Subscriber
type in DynamoDB (or somewhere in the amplify graphql transform pipeline)? When I rename my graphql type
from Subscriber
to Follower
the error goes away.
We are facing this issue now as well. Really a pain.
WORK AROUND FIX AVAILABLE
https://www.npmjs.com/package/amplify-slow-table-create
Code that does the work is here:
https://github.com/mormsbee/amplify-slow-table-create/blob/main/event-handlers/handle-PrePush.js
It could be prettier code I wrote this in a very short amount of time. It get's the job done though.
In the prePush event I crack open the cloudformation and for every dynamodb table, I add the preceding table as a dependency. Works like a champ. We are at roughly 60 tables now and no issues. :)
You can install it by doing the following:
npm install -g amplify-slow-table-create
amplify plugin add slow-table-create
afterwards you can just use:
amplify push --minify --yes
to push out your code as you would normally. You will see a big blob of JSON output to the push if installed properly.
I also, HIGHLY encourage everyone to read the documentation on authoring amplify cli plugins:
https://docs.amplify.aws/cli/plugins/authoring
This is how we can get around a lot of the issues we are facing. :)
We are experiencing this issue when spinning up new environments with 26 tables and running on amplify-cli version 4.37.0
- @mikeparisstuff do you have suggested remediations or work-arounds?
Most helpful comment
We are working on solving these limits with CloudFormation and various other downstream services. The idea is that most of these issues can be solved by breaking the transform output into a set of nested stacks instead of just one. This is being actively worked on.