kamcheungting-db opened a new pull request, #890:
URL: https://github.com/apache/iceberg-cpp/pull/890

   First real adoption of the logging component (added in #722–#726) in the 
commit path.
   
   `Transaction::Commit()` runs through a retry runner but was **completely 
silent** — operators had no way to tell whether a commit was retrying on a 
transient conflict or had failed permanently. This adds targeted, low-noise 
logging there (and nowhere else — scope is deliberately just the commit-retry 
path):
   
   - **WARN** on each genuine retry, carrying the prior error. The retry runner 
only re-invokes the task when it has decided to retry, so `attempt > 1` inside 
the task marks a real retry (no false "retrying" on non-retryable errors or 
timeouts).
   - **INFO** when a commit finally succeeds after more than one attempt.
   - **ERROR** when retries are exhausted, with the attempt count and final 
error.
   
   No change to the generic `util/retry_util` (kept backend-agnostic); all 
logging lives at the commit call site.
   
   **Tests** (`TransactionRetryTest`, reusing the existing `MockCatalog` 
conflict scaffolding, with a `CapturingLogger` installed via 
`ScopedDefaultLogger`):
   - `CommitRetryEmitsRetryAndSuccessLogs` — retry-then-succeed asserts the 
retry WARN (with the prior error) and the success INFO.
   - `CommitRetryExhaustedEmitsErrorLog` — always-conflict asserts the 
exhaustion ERROR (attempt count + final error) and the per-retry WARNs.
   
   This pull request and its description were written by Isaac.
   


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