HDFS-7916. 'reportBadBlocks' from datanodes to standby Node BPServiceActor goes for infinite loop (Contributed by Vinayakumar B)

(cherry picked from commit 867d5d2675)
This commit is contained in:
Vinayakumar B 2015-04-02 08:12:00 +05:30
parent cc42ad03d9
commit 1c8d54bc04
2 changed files with 9 additions and 2 deletions

View File

@ -35,6 +35,9 @@ Release 2.7.1 - UNRELEASED
HDFS-8179. DFSClient#getServerDefaults returns null within 1 HDFS-8179. DFSClient#getServerDefaults returns null within 1
hour of system start. (Xiaoyu Yao via Arpit Agarwal) 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 Release 2.7.0 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -26,6 +26,7 @@ import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
import org.apache.hadoop.hdfs.protocol.LocatedBlock; import org.apache.hadoop.hdfs.protocol.LocatedBlock;
import org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB; import org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB;
import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration; import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration;
import org.apache.hadoop.ipc.StandbyException;
/** /**
* ReportBadBlockAction is an instruction issued by {{BPOfferService}} to * ReportBadBlockAction is an instruction issued by {{BPOfferService}} to
@ -58,8 +59,11 @@ public class ReportBadBlockAction implements BPServiceActorAction {
dnArr, uuids, types) }; dnArr, uuids, types) };
try { try {
bpNamenode.reportBadBlocks(locatedBlock); bpNamenode.reportBadBlocks(locatedBlock);
} catch (IOException e){ } 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 " throw new BPServiceActorActionException("Failed to report bad block "
+ block + " to namenode: "); + block + " to namenode: ");
} }