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

Chris Nauroth updated HDFS-6236:
--------------------------------

    Attachment: HDFS-6236.1.patch

I noticed this due to a failure in {{TestCheckpoint#testCheckpoint}} on 
Windows.  There are assertions that the metrics are greater than zero, and 
these assertions were failing.  Windows in particular has a low-precision 
implementation of {{System#currentTimeMillis}}.  This patch fixes the issue.  
Tests are passing consistently for me on both Mac and Windows now.

I also discovered a problem inside 
{{TestCheckpoint#testReformatNNBetweenCheckpoints}}.  Restarting a new 
{{MiniDFSCluster}} ended up trying to use the same storage directory as a 
{{SecondaryNameNode}} that was intentionally left running in the background.  
The new cluster would fail during initialization due to file locks while trying 
to delete the storage directory.  To solve this, I've cloned the configuration 
and set a different storage dir for use by the 2NN.


> ImageServlet should use Time#monotonicNow to measure latency.
> -------------------------------------------------------------
>
>                 Key: HDFS-6236
>                 URL: https://issues.apache.org/jira/browse/HDFS-6236
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 3.0.0, 2.4.0
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>            Priority: Minor
>         Attachments: HDFS-6236.1.patch
>
>
> {{ImageServlet}} currently uses {{Time#now}} to get file transfer latency 
> measurements and pass them to the metrics system.  It would be preferrable to 
> use {{Time#monotonicNow}} so that we're using the most precise available 
> system timer, and we're not subject to odd bugs that could result in negative 
> latency measurements, like resetting the system clock.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to