jackylee-ch opened a new pull request, #671: URL: https://github.com/apache/paimon-rust/pull/671
`commit.timeout`, `commit.min-retry-wait` and `commit.max-retry-wait` are `durationType()` in Java, but Rust parsed bare milliseconds only: `commit.timeout = '2 min'` failed to parse and silently fell back to the default, so a plausible configuration was accepted and ignored. Two of the defaults also diverged — min-retry-wait was 1000ms against Java's 10ms, and the timeout was 120000ms where Java leaves it unset and lets `commit.max-retries` bound the loop alone. Those compound: Rust slept ~75s across its retry budget where Java sleeps ~10s, and could then abandon the commit on wall clock with "there may exist commit conflicts between multiple jobs" while Java was still retrying. **Fix**: add `parse_duration_millis`, mirroring `TimeUtils.parseDuration` and shaped like the existing `parse_memory_size` — every Java unit label, case-insensitive, bare number as millis, `None` on overflow. Align the two defaults, using `u64::MAX` as the unbounded sentinel; the value is only ever compared against elapsed time, so no arithmetic can overflow. Bare-millisecond values keep working, since Java reads an empty unit label as millis too. -- 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]
