gitPratikSingh commented on PR #29656:
URL: https://github.com/apache/camel/pull/29656#issuecomment-6809244972

   Thanks for the detailed review. I have pushed a follow-up commit addressing 
the points:
   
   1. **startAfter** — the continuation token now takes precedence; the 
configured `startAfter` is only used when there is no token, so it marks where 
each pass through the bucket begins. Added a regression test with `startAfter` 
set and `deleteAfterRead=false`: 25 objects after the start point with a limit 
of 10 are consumed in polls of [10, 10, 5] instead of the first page repeating.
   2. **The extra list request** — the `hasNext()` probe at the cap is gone. At 
the limit the listing counts as not ended and the token is kept; when a pass 
ends exactly on a full page, the next poll lists nothing and clears the token. 
(This is the same point as the bot's note above — as you said, the iterator 
exposes no `isTruncated` equivalent.)
   3. **Token with folders** — the token is now the largest object name listed 
in the page, so a page ending on a folder prefix cannot re-list objects already 
routed from that page.
   4. **Cleanup** — `listedObjects` and the unreachable branch are removed; the 
listing state is now just "ended" (token cleared) versus "not ended" (token 
kept). The failed-listing behaviour is unchanged: the previous token stays in 
place.
   5. **includeVersions** — added a comment where the token is applied, noting 
the remaining versions of an object split by a page boundary are picked up on 
the next pass.
   
   The upgrade-guide entry now also says that `startAfter` marks where each 
pass through the bucket begins.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to