rahil-c commented on code in PR #9660: URL: https://github.com/apache/iceberg/pull/9660#discussion_r1482222698
########## open-api/rest-catalog-open-api.yaml: ########## @@ -212,6 +212,34 @@ paths: schema: type: string example: "accounting%1Ftax" + - name: pageToken + in: query + description: + Allows clients to make use of pagination by signaling to the service that they would + prefer requests to be paginated to a “reasonable” number of results. + + New Clients always start the request by sending a required empty “pageToken” e.g. GET /tables?continuationToken=”” + Servers supporting pagination would recognize pagination is requested due to the presence of the pageToken + and honor the contracts specified above by returning a non-empty continuation token + if there are more results available, or an empty token or missing field indicating no more results. + Servers that are non-pagination aware will ignore the token and return all results as they previously did. + + Old clients should not be specifying the new parameters + For servers that support pagination, they would notice the lack of “continuationToken” Review Comment: > yeah this is the point we disagree. I think even when lacking a pageToken query parameter, the service should be able to paginate. Thoughts? Yea i think the issue is that without the `pageToken` how does the server tell if this is a new client that wants pagination or an old client that does not support it. > Yes in that case I agree your approach is definitely more backwards compatible, but it is also cumbersome to even add a feature flag just for pagination. Let's see what others think. Sounds good I think we have flags for other REST related features but not sure its too much to have a flag for pagination, will follow guidance from community on which path allows us to move forward. cc @danielcweeks @rdblue -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org