Christopher Tubbs created ACCUMULO-984:
------------------------------------------

             Summary: Check potentially unexpected behavior with TimeUnit
                 Key: ACCUMULO-984
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-984
             Project: Accumulo
          Issue Type: Sub-task
            Reporter: Christopher Tubbs
             Fix For: 1.5.0


For maxTimeout and maxLatency, there is potentially unexpected behavior if the 
user sets a (very) small value. Internally, these values are stored as 
MILLISECONDS, but TimeUnit supports MICROSECONDS, and NANOSECONDS, which means 
that when we convert values to MILLISECONDS, if the value is small, the 
conversion could lose precision and change a really small value to an exact 
value of 0 MILLISECONDS, which has the special interpretation of INFINITY. 
Setting a really small value that internally converts to INFINITY (or 
Long.MAX_VALUE, at the very least) is incorrect.

We just to need to check this and possibly clean up the code to behave in a way 
more congruent with the behavior users might expect.

Options:
# Treat -1 as +INF instead of 0 (which I think more intuitively means 
"immediate" instead of "never" for a span of time).
# Always round up to 1 millisecond, if the value would normally round down to 0 
and wasn't already 0 to begin with.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to