Repository: hadoop Updated Branches: refs/heads/branch-2.7 cc42ad03d -> 1c8d54bc0
HDFS-7916. 'reportBadBlocks' from datanodes to standby Node BPServiceActor goes for infinite loop (Contributed by Vinayakumar B) (cherry picked from commit 867d5d2675b8fb73c40fac1e581b02b005459d95) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1c8d54bc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1c8d54bc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1c8d54bc Branch: refs/heads/branch-2.7 Commit: 1c8d54bc04cf12a404a8d53e87eb198c16720ac8 Parents: cc42ad0 Author: Vinayakumar B <[email protected]> Authored: Thu Apr 2 08:12:00 2015 +0530 Committer: Vinayakumar B <[email protected]> Committed: Tue Apr 21 07:45:59 2015 +0530 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/datanode/ReportBadBlockAction.java | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1c8d54bc/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index b2d2aff..a169e87 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -35,6 +35,9 @@ Release 2.7.1 - UNRELEASED HDFS-8179. DFSClient#getServerDefaults returns null within 1 hour of system start. (Xiaoyu Yao via Arpit Agarwal) + HDFS-7916. 'reportBadBlocks' from datanodes to standby Node BPServiceActor + goes for infinite loop (vinayakumarb) + Release 2.7.0 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/1c8d54bc/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ReportBadBlockAction.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ReportBadBlockAction.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ReportBadBlockAction.java index fd01a01..991b56d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ReportBadBlockAction.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ReportBadBlockAction.java @@ -26,6 +26,7 @@ import org.apache.hadoop.hdfs.protocol.ExtendedBlock; import org.apache.hadoop.hdfs.protocol.LocatedBlock; import org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB; import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration; +import org.apache.hadoop.ipc.StandbyException; /** * ReportBadBlockAction is an instruction issued by {{BPOfferService}} to @@ -58,8 +59,11 @@ public class ReportBadBlockAction implements BPServiceActorAction { dnArr, uuids, types) }; try { - bpNamenode.reportBadBlocks(locatedBlock); - } catch (IOException e){ + bpNamenode.reportBadBlocks(locatedBlock); + } catch (StandbyException e) { + DataNode.LOG.warn("Failed to report bad block " + block + + " to standby namenode"); + } catch (IOException e) { throw new BPServiceActorActionException("Failed to report bad block " + block + " to namenode: "); }
