tanmayrauth commented on PR #1655:
URL: https://github.com/apache/iceberg-go/pull/1655#issuecomment-5222273908

   Thanks @zeroshade  for the review.
   
   Auth deadline. Since TokenSource.Token() takes no context, I bounded auth 
two ways rather than threading the per-report deadline through it (which would 
need either a cache-losing reconstruction or the goroutine wrapper you   
flagged): an optional ContextAuthManager that sessionTransport prefers, and a 
Timeout on the built-in OAuth refresh client. A stalled token endpoint now 
fails within that timeout instead of hanging. One residual, documented   
in-code: a refresh in flight is bounded by the OAuth timeout, not the shorter 
per-report deadline, so Close can return before that worker's auth attempt 
finishes. It's bounded, not infinite. Happy to make the timeout configurable  
if you'd prefer.
   
    Drop logging. Off the caller's goroutine now — submit bumps an atomic 
counter, and a dispatcher-owned goroutine emits a single aggregated, 
rate-limited warning for drops and failures. Also Close is one-shot (sync.Once 
+ shared channel); Report queues context.WithoutCancel(ctx) to preserve values; 
the canonical enablement key wins when present; and failed-report detail (which 
carries the URL) is now at Debug,  with only aggregate counts at Warn. 
    
    Tests added for auth forwarding, per-report credential re-fetch, the 
ContextAuthManager preference, context-value propagation, non-blocking drops, 
the aggregated warning, idempotent Close, and the real path composition with a  
 multi-level namespace. -race -count=3 clean, lint 0.
     
   The "table-response cannot enable" case is currently pinned by a unit-level 
invariant plus the existing precedence test; let me know if you'd like the full 
LoadTable version.


-- 
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]

Reply via email to