hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manoj Govindassamy (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HDFS-11296) Maintenance state expiry should be an epoch time and not jvm monotonic
Date Fri, 06 Jan 2017 08:50:58 GMT

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

Manoj Govindassamy edited comment on HDFS-11296 at 1/6/17 8:50 AM:
-------------------------------------------------------------------

Thanks for the review [~eddyxu].

This configuration is needed only in the Active NameNode. The user has to configure the expiry
time of a DN in *absolute epoch time* in the combined hosts file. For example, user can get
the absolute epoch time for 1hr expiry by running the following shell command on the NameNode.

{code}
# echo $(((`date +%s` + 60*60) * 1000))
1483696115000
{code}


was (Author: manojg):
Thanks for the review [~eddyxu].

This configuration is needed only in the Active NameNode. The user has to configure the expiry
time of a DN in *absolute epoch time* in the combined hosts file. For example, user can get
the absolute epoch time for 1hr expiry by running the following shell command on the NameNode.

# echo $(((`date +%s` + 60*60) * 1000))
1483696115000

> Maintenance state expiry should be an epoch time and not jvm monotonic
> ----------------------------------------------------------------------
>
>                 Key: HDFS-11296
>                 URL: https://issues.apache.org/jira/browse/HDFS-11296
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Manoj Govindassamy
>            Assignee: Manoj Govindassamy
>         Attachments: HDFS-11296.01.patch
>
>
> Currently it is possible to configure an expiry time in milliseconds for a DataNode in
maintenance state. As per the design, the expiry attribute is an absolute time, beyond which
NameNode starts to stop the ongoing maintenance operation for that DataNode. Internally in
the code, this expiry time is read and checked against {{Time.monotonicNow()}} making the
expiry based on more of JVM's runtime, which is very difficult to configure for any external
user. The goal is to make the expiry time an absolute epoch time, so that its easy to configure
for external users.
> {noformat}
> {
>     "hostName": <host>,
>     "port": <port>,
>     "adminState": "IN_MAINTENANCE",
>     "maintenanceExpireTimeInMS": <time in millis>
> }
> {noformat}
> DatanodeInfo.java
> {noformat}
>   public static boolean maintenanceNotExpired(long maintenanceExpireTimeInMS) {
>     return Time.monotonicNow() < maintenanceExpireTimeInMS;
>   }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message