Skip to content
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

Guidance on pagination token #3766

Open
qinxx108 opened this issue Mar 15, 2024 · 0 comments
Open

Guidance on pagination token #3766

qinxx108 opened this issue Mar 15, 2024 · 0 comments

Comments

@qinxx108
Copy link
Contributor

This issue is for discuss how we should implement the pagination token for #3361. Open this issue to bring a discussion on best practices for pagination tokens with open-source guidance.

Background

Without pagination of the APIs, the getAlertGroups and getAlerts can cause a significant performance impact on the server.
We had discussed in #3297 and agreed on to have a set of new APIs to support pagination token

Implementation requirements for pagination token

Pagination tokens should not be plain text

In order to not expose pagination tokens implementation details, we should not use plain text for pagination token. Proposed to use base64 to encode the token to start

Pagination tokens should not be versioned

To be able to not break in flight request while deploying new version of pagination token, we should make sure that the pagination token is versioned

Other consideration

  • Pagination tokens should require filter parameter remain unchanged: In order to validate the filter parameters, we'll need to encode the initial filter parameter into the response pagination token. However, considering that we support numerous filter parameters, many of which support list operations, encoding all this information could result in very long pagination tokens. Therefore, I suggest postponing this requirement.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant