You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "1991santhu (via GitHub)" <gi...@apache.org> on 2026/08/08 14:39:22 UTC

[I] Hive lock retry backoff scale diverges from the Java implementation (2.0 vs 1.5) [iceberg-go]

1991santhu opened a new issue, #1715:
URL: https://github.com/apache/iceberg-go/issues/1715

   Raised by @laskoviymishka during review of #1640 and deferred as out of scope there.
   
   `catalog/hive/lock.go`'s `calculateBackoff` doubles the wait on each attempt:
   
   ```go
   return minWait << attempt
   ```
   
   Java's `Tasks.exponentialBackoff` uses a scale factor of **1.5**, not 2.0. For a client retrying a contended table lock, the two implementations therefore walk different schedules from the same configuration, and a mixed Go/Java fleet against one metastore backs off at different rates.
   
   Filing rather than changing it, because either direction is a behaviour change for existing deployments:
   
   - Matching Java (1.5) makes Go clients retry more often and reach the cap later.
   - Keeping 2.0 is defensible on its own terms, but the divergence should then be intentional and documented rather than incidental.
   
   Related: the `[d, 2d]` jitter window in `applyJitter` is also wider than Java's ~10%-of-current-delay jitter. That one is now called out in the doc comment (#1714), but the underlying difference is the same question — how closely should the Go client match Java's retry behaviour against shared infrastructure?


-- 
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: issues-unsubscribe@iceberg.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [I] Hive lock retry backoff scale diverges from the Java implementation (2.0 vs 1.5) [iceberg-go]

Posted by "dgvj-work (via GitHub)" <gi...@apache.org>.
dgvj-work commented on issue #1715:
URL: https://github.com/apache/iceberg-go/issues/1715#issuecomment-5247768764

   I'd like to take this. I'll align the lock-check backoff scale factor with the Java implementation (1.5) and add a regression test, without changing the attempt-count vs deadline semantics in this PR.


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [I] Hive lock retry backoff scale diverges from the Java implementation (2.0 vs 1.5) [iceberg-go]

Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade closed issue #1715: Hive lock retry backoff scale diverges from the Java implementation (2.0 vs 1.5)
URL: https://github.com/apache/iceberg-go/issues/1715


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org