[ https://issues.apache.org/jira/browse/HDFS-1572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980480#action_12980480 ]
Konstantin Shvachko commented on HDFS-1572: ------------------------------------------- Jakob, the idea of the original code was to wake up every 5 minutes or checkpointPeriod, whichever is less. Then verify the edits length and checkpoint if necessary. Your patch achieves the same functionality but wakes the thread more often and needs more variables. Hard-coded 60 seconds is not good if I want to checkpoint every 30 seconds, which I need for debugging. checkpointPeriod set to 30 sec should overrule 60 secs. Does it make sense? > 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.