Hi all,

While reviewing PR #5533, I noticed that when a client doesn't send page
token/size, the server can send partial result, which is a violation of IRC
spec. It was enabled by the LIST_PAGINATION_MAX_PAGE_SIZE introduced in
#5282. I think it combines two behaviors:

   1. Cap page sizes when the client explicitly opts into pagination via
   pageToken, while returning all results for requests without it. This
   preserves the IRC contract.
   2. Force pagination even when the client expects a complete response,
   deviating from IRC.

Currently, setting LIST_PAGINATION_MAX_PAGE_SIZE enables both. Defaulting
it to unlimited avoids changing defaults, but administrators still cannot
choose option 1 alone.

Option 1 is valid. Option 2 can silently produce incorrect results for IRC
clients. I'm not sure how much value Option 2 provides. It may potentially
protect the server from OOM, I guess. Please chime in the use cases.

If we really want to keep option 2, could we make it a separate, explicit
setting?

Thoughts?

Related discussion:
https://lists.apache.org/thread/mmqllcbt2lfsrq571cfwbymgfwoxqdf0

Yufei

Reply via email to