-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Increase AWS pagination size #2009
Increase AWS pagination size #2009
Conversation
From measurements, AWS by default has pagination of 100 items per page when listing hosted zone resources. This increases the number of requests required to list all our zones, and pushes a hard constraint on the rate limits. From the experiments, it seems that on the server-side, there is a hard limit of 300 elements per page, as per AWS documentation: https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResourceRecordSets.html > ListResourceRecordSets returns up to 300 resource record sets at a time in ASCII order, > beginning at a position specified by the name and type elements Hence raising the page size from 100 to 300 items would decrease by 3 the number of requests posted to Route53 We even set a higher limit so we can benefit from a lower number of requests if ever AWS increases the hard limit of 300.
/assign @Raffo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tjamet I have one comment, if addressed I'm happy to merge this.
provider/aws/aws.go
Outdated
// when less items are returned, and still paginate accordingly. | ||
// As we are using the standard AWS client, this should already be compliant. | ||
// Hence, ifever AWS decides to raise this limit, we will automatically reduce the pressure on rate limits | ||
MaxItems: aws.String("1000"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer having this as 300
as it's the limit now.
I would also love to see a constant declared for that instead of a magic number string.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done :D
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Raffo, tjamet The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
From measurements, AWS by default has pagination of 100 items per
page when listing hosted zone resources.
This increases the number of requests required to list all our zones,
and pushes a hard constraint on the rate limits.
From the experiments, it seems that on the server-side, there is a hard
limit of 300 elements per page, as per AWS documentation:
https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResourceRecordSets.html
Hence raising the page size from 100 to 300 items would decrease by 3
the number of requests posted to Route53
We even set a higher limit so we can benefit from a lower number of
requests if ever AWS increases the hard limit of 300.
contributes to improving #1293
Checklist
I didn't find a place where to update the documentation