[ 
https://issues.apache.org/jira/browse/HBASE-21774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Shelukhin updated HBASE-21774:
-------------------------------------
    Description: 
I've noticed it in a few places in the code... 

currentMillis can go backwards and have other artifacts.
nanoTime should be used for intervals (see 
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#nanoTime() ) 
unless it's both the case that the calls are frequent and nanoTime will result 
in perf overhead, and also that artifacts from negative intervals and such are 
relatively harmless or possible to work around in the code.

  was:
I've noticed it in a few places in the code... 

currentMillis can go backwards and have other artifacts.
nanoTime should be used for intervals unless it's both the case that the calls 
are frequent and nanoTime will result in perf overhead, and also that artifacts 
from negative intervals and such are relatively harmless or possible to work 
around in the code.


> do not use currentMillis to measure intervals
> ---------------------------------------------
>
>                 Key: HBASE-21774
>                 URL: https://issues.apache.org/jira/browse/HBASE-21774
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Priority: Major
>
> I've noticed it in a few places in the code... 
> currentMillis can go backwards and have other artifacts.
> nanoTime should be used for intervals (see 
> https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#nanoTime() ) 
> unless it's both the case that the calls are frequent and nanoTime will 
> result in perf overhead, and also that artifacts from negative intervals and 
> such are relatively harmless or possible to work around in the code.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to