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]

Reply via email to