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

Boris Shkolnik commented on HDFS-1572:
--------------------------------------

getJournalSize() is an RPC call. I think we should make the call only if 
periodExpired is not true..
The way it is done in the patch it will be called every minute (BTW why you 
changed sleep(period) to sleep (60*1000)?)

> Checkpointer should trigger checkpoint with specified period.
> -------------------------------------------------------------
>
>                 Key: HDFS-1572
>                 URL: https://issues.apache.org/jira/browse/HDFS-1572
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 0.22.0
>            Reporter: Liyin Liang
>            Priority: Blocker
>             Fix For: 0.21.0
>
>         Attachments: 1527-1.diff, 1572-2.diff, HDFS-1572-2.patch, 
> HDFS-1572.patch
>
>
> {code:}
>   long now = now();
>   boolean shouldCheckpoint = false;
>   if(now >= lastCheckpointTime + periodMSec) {
>     shouldCheckpoint = true;
>   } else {
>     long size = getJournalSize();
>     if(size >= checkpointSize)
>       shouldCheckpoint = true;
>   }
> {code}
> {dfs.namenode.checkpoint.period} in configuration determines the period of 
> checkpoint. However, with above code, the Checkpointer triggers a checkpoint 
> every 5 minutes (periodMSec=5*60*1000). According to SecondaryNameNode.java, 
> the first *if*  statement should be:
>  {code:}
> if(now >= lastCheckpointTime + 1000 * checkpointPeriod) {
>  {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to