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