keith-turner opened a new issue, #4068:
URL: https://github.com/apache/accumulo/issues/4068

   **Describe the bug**
   
   When a FATE operation is unreserved with a deferral time, the code uses 
System.currentTimeMillis() to determine when the operation should run again.  
In the case where wall time changes on the machine this could cause this 
deferral tracking to be incorrect, in the worse case causing something to not 
run for long periods of time.
   
   **Expected behavior**
   
   If would be best if the deferral time tracking in ZooStore used 
System.nanoTime instead of System.currentTimeMillis as this avoids problems 
with wall time changing.  We could also modify the method signature of 
   
   ```java
   public void unreserve(long tid, long deferTime)
   ```
   
   to
   
   ```java
   public void unreserve(long tid, long deferTime, TimeUnit deferTimeUnuit)
   ```
   
   All the code that calls this method would still pass milliseconds, so making 
the time unit explicit would make the code less confusing if the ZooStore impl 
uses nano seconds and its routinely passed milliseconds.
   


-- 
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