durable-queue
durable-queue copied to clipboard
Use nanoTime instead of currentTimeMillis for elapsed time
System/currentTimeMillis is not guaranteed to progress monotonically. NTP shifts, leap seconds, and manual system time changes can all cause elapsed time calculations to be incorrect if you use currentTimeMillis.
nanoTime is always calculated against a fixed point and proceeds monotonically.
https://go.googlesource.com/proposal/+/master/design/12914-monotonic.md has a good discussion on monotonic time.