Skip to content

Commit 1b7bc19

Browse files
authored
fix(AIP-158): clarify degraded skip response guidance (#1510)
1 parent fd73827 commit 1b7bc19

1 file changed

Lines changed: 19 additions & 3 deletions

File tree

aip/general/0158.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,10 @@ For example:
110110
first 50 results were returned on the first page) and a `skip` value of `30`
111111
returns a single page of results starting with the 81st result.
112112

113-
If a `skip` value is provided that causes the cursor to move past the end of
114-
the collection of results, the response **must** be `200 OK` with an empty
115-
result set, and not provide a `next_page_token`.
113+
If a `skip` value is provided that cannot be fulfilled e.g. due to latency of
114+
querying a massive data set, the response **must** be `200 OK` with an empty
115+
result set. If it is _known_ to put the cursor beyond the total size of the
116+
collection, the response **must not** include a `next_page_token`.
116117

117118
### Opacity
118119

@@ -176,8 +177,23 @@ paginate) is reasonable for initially-small collections.
176177

177178
[list]: ./0132.md
178179

180+
## Rationale
181+
182+
### Degraded `skip` response
183+
184+
Large collections, complex queries, and globally distributed data can all
185+
contribute to a paginated method being unable to quickly or confidently fulfill
186+
a given `skip` request. Backend queries can timeout, data collation can take
187+
time, and the end user experience need not suffer as a result. In such cases,
188+
the pagination interface can be leveraged to keep the client engaged by
189+
providing a `next_page_token`, while the service collects an appropriate result.
190+
When the service has definitively determined that the requested `skip` exceeds
191+
the available results, the pagination interface is again applied and
192+
`next_page_token` is omitted to signal the end of results.
193+
179194
## Changelog
180195

196+
- **2025-07-08**: Clarify degraded skip response guidance
181197
- **2020-05-24**: Clarified that adding pagination breaks client
182198
libraries.
183199
- **2020-05-13**: Added guidance for skipping results.

0 commit comments

Comments
 (0)