[ 
https://issues.apache.org/jira/browse/HBASE-6833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458382#comment-13458382
 ] 

Elliott Clark commented on HBASE-6833:
--------------------------------------

Windows can have a more accurate normal system clock however it causes a lot of 
cpu load so is not always done:  See: 
http://msdn.microsoft.com/en-us/library/dd757624%28VS.85%29.aspx Calling that 
works but it's frowned upon unless you really need timers that are < 10 ms 
resolution.

https://blogs.oracle.com/dholmes/entry/inside_the_hotspot_vm_clocks
Seems to suggest that using the System.nanoTime will give the correct time as 
determined by QueryPerformanceFrequency.  So our timing can use nanoTime 
converted to ms.  This will only work on modernish hardware and modernish 
windows.  However I think that's probably good enough.

That still leaves the timers.  Are there any cases where our timers must be 1ms 
accurate ?  If it is then the above link seems to suggest that setting a timer 
that's not a multiple of 10ms will cause java to set the clock timer to 1 ms  
(though on older hardware I seem to remember that the api is ignored).
                
> [WINDOWS] Java Milisecond precision on Windows
> ----------------------------------------------
>
>                 Key: HBASE-6833
>                 URL: https://issues.apache.org/jira/browse/HBASE-6833
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 0.96.0, 0.94.3
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>              Labels: windows
>
> HBase relies on the system clock obtained by System.currentTimeMilis() to 
> supply the version, if it is not provided by the client in Put's and 
> Delete's. At HBASE-6832 and HBASE-6826, we discovered that on some platforms, 
> the milis clock might not be updated every milisecond, which might cause 
> unexpected behavior. We also did some preliminary analysis there.
> In this issue, we can further discuss and inspect whether it is a problem for 
> main target platforms and if so what can be done.

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