> We observed a case where the instants returned by `TimeSource.now()` were 
> returned in non-monotonic order. The reason was that sometimes we were using 
> a delay calculated with one `localSource` as an input to a different (updated 
> on another thread) `localSource`. This was confirmed by putting `assert 
> firstNanos + delay == nanos;` under `instant(long, long)`.
> 
> The fix ensures that we won't accidentally use the incorrect delay by 
> removing the `instant(long, long)` overload, and calculating the delay in the 
> method where it is used.
> 
> No new test; instrumenting this class for testing would likely double its 
> size. Tier2 tests continue to pass.

Daniel Jeliński has updated the pull request incrementally with one additional 
commit since the last revision:

  Restore instant(long,long)

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/25390/files
  - new: https://git.openjdk.org/jdk/pull/25390/files/bd5e4619..a16404aa

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25390&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25390&range=00-01

  Stats: 7 lines in 1 file changed: 5 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/25390.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25390/head:pull/25390

PR: https://git.openjdk.org/jdk/pull/25390

Reply via email to