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

Kihwal Lee commented on HDFS-14158:
-----------------------------------

Are you running BackupNode?  I has received little to no attention since people 
have not used it much for a long time.  The standard way of checkpointing until 
the HA feature was to use secondary namenode, which has its own checks. 
"periodMsec is always 5 minutes or lower" might have been intentional and 
reasonable long time ago when BackupNode was first created.

This, however, was fixed in HDFS-1572 by [~jghoman] in January 2011, only to be 
accidentally reverted by the merge of HDFS-1052 (HDFS Federation) three months 
later.  If the same thing was done on SecondaryNamenode, people would have 
noticed it very soon.

> Checkpointer ignores configured time period > 5 minutes
> -------------------------------------------------------
>
>                 Key: HDFS-14158
>                 URL: https://issues.apache.org/jira/browse/HDFS-14158
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.8.1
>            Reporter: Timo Walter
>            Priority: Minor
>              Labels: checkpoint, hdfs, namenode
>
> The checkpointer always triggers a checkpoint every 5 minutes and ignores the 
> flag "*dfs.namenode.checkpoint.period*", if its greater than 5 minutes.
> See the code below (in Checkpointer.java):
> {code:java}
> //Main work loop of the Checkpointer
> public void run() {
>   // Check the size of the edit log once every 5 minutes.
>   long periodMSec = 5 * 60;   // 5 minutes
>   if(checkpointConf.getPeriod() < periodMSec) {
>     periodMSec = checkpointConf.getPeriod();
>   }
> {code}
> If the configured period ("*dfs.namenode.checkpoint.period*") is lower than 5 
> minutes, you choose use the configured one. But it always ignores it, if it's 
> greater than 5 minutes.
>  
> In my opinion, the if-expression should be:
> {code:java}
> if(checkpointConf.getPeriod() > periodMSec) {
>     periodMSec = checkpointConf.getPeriod();
>   }
> {code}
>  
> Then "*dfs.namenode.checkpoint.period*" won't get ignored.



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

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

Reply via email to