HDFS-5747. Fix NPEs in BlockManager. (Arpit Agarwal)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1557289 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6608b75829
commit
9d382a4174
@ -744,6 +744,8 @@ Release 2.4.0 - UNRELEASED
|
||||
HDFS-5756. hadoopRzOptionsSetByteBufferPool does not accept NULL argument,
|
||||
contrary to docs. (cmccabe via wang)
|
||||
|
||||
HDFS-5747. Fix NPEs in BlockManager. (Arpit Agarwal)
|
||||
|
||||
BREAKDOWN OF HDFS-2832 SUBTASKS AND RELATED JIRAS
|
||||
|
||||
HDFS-4985. Add storage type to the protocol and expose it in block report
|
||||
|
@ -324,12 +324,14 @@ void addReplicaIfNotPresent(DatanodeStorageInfo storage,
|
||||
Iterator<ReplicaUnderConstruction> it = replicas.iterator();
|
||||
while (it.hasNext()) {
|
||||
ReplicaUnderConstruction r = it.next();
|
||||
if(r.getExpectedStorageLocation() == storage) {
|
||||
DatanodeStorageInfo expectedLocation = r.getExpectedStorageLocation();
|
||||
if(expectedLocation == storage) {
|
||||
// Record the gen stamp from the report
|
||||
r.setGenerationStamp(block.getGenerationStamp());
|
||||
return;
|
||||
} else if (r.getExpectedStorageLocation().getDatanodeDescriptor() ==
|
||||
storage.getDatanodeDescriptor()) {
|
||||
} else if (expectedLocation != null &&
|
||||
expectedLocation.getDatanodeDescriptor() ==
|
||||
storage.getDatanodeDescriptor()) {
|
||||
|
||||
// The Datanode reported that the block is on a different storage
|
||||
// than the one chosen by BlockPlacementPolicy. This can occur as
|
||||
|
@ -547,8 +547,8 @@ private void startCommonServices(Configuration conf) throws IOException {
|
||||
}
|
||||
|
||||
private void stopCommonServices() {
|
||||
if(namesystem != null) namesystem.close();
|
||||
if(rpcServer != null) rpcServer.stop();
|
||||
if(namesystem != null) namesystem.close();
|
||||
if (pauseMonitor != null) pauseMonitor.stop();
|
||||
if (plugins != null) {
|
||||
for (ServicePlugin p : plugins) {
|
||||
|
Loading…
Reference in New Issue
Block a user