[ https://issues.apache.org/jira/browse/HDFS-11817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16444708#comment-16444708 ]
Wei-Chiu Chuang commented on HDFS-11817: ---------------------------------------- I'm trying to backport this to branch-2.7. There are quite a few conflicts, but the biggest change compared to the branch-2.8 patch is {code:java|title=BlockInfoContiguousUnderConstruction#addReplicaIfNotPresent} void addReplicaIfNotPresent(DatanodeStorageInfo storage, Block block, ReplicaState rState) { Iterator<ReplicaUnderConstruction> it = replicas.iterator(); while (it.hasNext()) { {code} because branch-2.7 does not have HDFS-8928. Without the change, replicas could be null and tests fails with NPE. > A faulty node can cause a lease leak and NPE on accessing data > -------------------------------------------------------------- > > Key: HDFS-11817 > URL: https://issues.apache.org/jira/browse/HDFS-11817 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.8.0 > Reporter: Kihwal Lee > Assignee: Kihwal Lee > Priority: Critical > Fix For: 2.9.0, 3.0.0-alpha4, 2.8.2 > > Attachments: HDFS-11817.branch-2.7.001.patch, > HDFS-11817.branch-2.patch, HDFS-11817.v2.branch-2.8.patch, > HDFS-11817.v2.branch-2.patch, HDFS-11817.v2.trunk.patch, > hdfs-11817_supplement.txt > > > When the namenode performs a lease recovery for a failed write, the > {{commitBlockSynchronization()}} will fail, if none of the new target has > sent a received-IBR. At this point, the data is inaccessible, as the > namenode will throw a {{NullPointerException}} upon {{getBlockLocations()}}. > The lease recovery will be retried in about an hour by the namenode. If the > nodes are faulty (usually when there is only one new target), they may not > block report until this point. If this happens, lease recovery throws an > {{AlreadyBeingCreatedException}}, which causes LeaseManager to simply remove > the lease without finalizing the inode. > This results in an inconsistent lease state. The inode stays > under-construction, but no more lease recovery is attempted. A manual lease > recovery is also not allowed. -- 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