hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elliott Clark (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6833) [WINDOWS] Java Milisecond precision on Windows
Date Wed, 19 Sep 2012 03:31:08 GMT

    [ 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

Mime
View raw message