Revanth14 commented on code in PR #1324:
URL: https://github.com/apache/iceberg-go/pull/1324#discussion_r3573205205
##########
catalog/rest/scan_planning.go:
##########
@@ -180,8 +378,8 @@ type CompletedPlanningResult struct {
// wire type and the seam stay in agreement.
type PlanTableScanRequest struct {
// IdempotencyKey is sent as the Idempotency-Key header, not in the
JSON body.
- // If set, it must be a UUID string; nil lets the implementation choose
a
- // safe retry key.
+ // If set, it must be a UUIDv7 string (RFC 9562); nil lets the
implementation
+ // generate a safe UUIDv7 retry key.
Review Comment:
Addressed the documentation footgun for both request types. It now states
that `nil` generates a fresh UUIDv7 per call and that callers must provide an
explicit key to preserve idempotency across retries.
I kept the generated key internal for this PR because returning it would
require expanding the public method contract or mutating caller-owned request
state. Callers that need retry dedup can generate one UUIDv7 before the first
attempt and reuse it through `IdempotencyKey`; we can revisit a returned-key
API separately if needed.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]