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

ASF GitHub Bot commented on HDFS-17518:
---------------------------------------

vinayakumarb commented on code in PR #6809:
URL: https://github.com/apache/hadoop/pull/6809#discussion_r1597551434


##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java:
##########
@@ -3738,7 +3738,7 @@ boolean internalReleaseLease(Lease lease, String src, 
INodesInPath iip,
       NameNode.stateChangeLog.warn("BLOCK*" +
           " internalReleaseLease: All existing blocks are COMPLETE," +
           " lease removed, file " + src + " closed.");
-      return true;  // closed!
+      return false;  // closed!

Review Comment:
   As per javadoc of this method, return value indicates whether file was 
closed or not.
   
   Changing that value here, may solve the problem of logSync() particularly in 
this case, but it will be problematic for other usages of this method.
   
   For ex: recoverLease() RPC will get false, even though file was closed.
   
   As per the javadoc, even if the return value is false, there are edits 
logged (reassigning the lease, when blockrecovery is initiated.).
   So calling the logSync() is required in both these cases.
   That said, Cannot blindly call logSync() always.
   
   So, more correct approach to fix this is to return a combination of these 
values from this method (i.e. complerted and needsync )
   
   And determine whether to call sync or not in the caller.





> In the lease monitor, if a file is closed, we should sync the editslog
> ----------------------------------------------------------------------
>
>                 Key: HDFS-17518
>                 URL: https://issues.apache.org/jira/browse/HDFS-17518
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: lei w
>            Priority: Minor
>              Labels: pull-request-available
>
> In the lease monitor, if a file is closed,  method checklease will return 
> true, and then the edits log will not be sync. In my opinion, we should sync 
> the edits log to avoid not synchronizing the state to the standby NameNode 
> for a long time.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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