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:33 UTC
[I] Hive lock-check config keys do not match the Java implementation's names or defaults [iceberg-go]
1991santhu opened a new issue, #1716:
URL: https://github.com/apache/iceberg-go/issues/1716
Raised by @laskoviymishka during review of #1640 and deferred as out of scope there.
`catalog/hive/options.go` defines the lock-check tuning as:
| Key | Default |
|---|---|
| `lock-check-min-wait-time` | 100ms |
| `lock-check-max-wait-time` | 1 minute |
| `lock-check-retries` | 4 |
These do not line up with the Java implementation's property names or its default values, so the same table property set cannot be carried across the two clients, and an operator tuning one has to re-derive the settings for the other.
Two separate questions here, worth deciding together:
1. **Names** — should the Go client accept Java's property keys, either as the primary names or as aliases?
2. **Defaults** — should the values match Java's, or is divergence acceptable as long as it is documented?
Both are user-visible changes for anyone already setting these, which is why this is a tracking issue rather than a patch.
One adjacent robustness note from the same review: `options.go` parses these with `time.ParseDuration`, which accepts negative durations, and nothing rejects `min-wait-time >= max-wait-time`. Neither is currently dangerous — `applyJitter` guards both — but validating at parse time would make the contract clearer than relying on downstream defensiveness.
--
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-check config keys do not match the Java implementation's names or defaults [iceberg-go]
Posted by "dgvj-work (via GitHub)" <gi...@apache.org>.
dgvj-work commented on issue #1716:
URL: https://github.com/apache/iceberg-go/issues/1716#issuecomment-5257518499
Proposed approach for the PR:
1. **Names** — treat Java's `iceberg.hive.lock-check-min-wait-ms` / `iceberg.hive.lock-check-max-wait-ms` as the primary keys (integer milliseconds, matching Java). Keep the existing Go keys (`lock-check-min-wait-time` / `lock-check-max-wait-time`, Go duration strings) as aliases so current configs keep working. Java key wins if both are set.
2. **Defaults** — match Java: 50ms min / 5s max (today Go uses 100ms / 60s).
3. **Retries** — leave `lock-check-retries` as a Go-specific bound for now. Java uses `iceberg.hive.lock-timeout-ms` instead; wiring timeout through the acquire loop can be a follow-up.
4. **Validation** — reject non-positive waits/retries and `min-wait >= max-wait` at parse time (invalid values are ignored and defaults kept), instead of relying only on `applyJitter`/`calculateBackoff` defensiveness.
Happy to adjust if maintainers prefer keeping Go defaults and only adding aliases.
--
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-check config keys do not match the Java implementation's names or defaults [iceberg-go]
Posted by "dgvj-work (via GitHub)" <gi...@apache.org>.
dgvj-work commented on issue #1716:
URL: https://github.com/apache/iceberg-go/issues/1716#issuecomment-5257501574
I'd like to take this. I'll align the Hive lock-check property keys (and validation) with the Java implementation, and call out any default-value differences in the PR so we can decide whether to match Java's defaults or keep the current Go defaults with aliases.
--
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-check config keys do not match the Java implementation's names or defaults [iceberg-go]
Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade closed issue #1716: Hive lock-check config keys do not match the Java implementation's names or defaults
URL: https://github.com/apache/iceberg-go/issues/1716
--
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