HDFS-7066. LazyWriter#evictBlocks misses a null check for replicaState.
(Contributed by Xiaoyu Yao)
Conflicts:
hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2fdd9f51
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2fdd9f51
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2fdd9f51
Branch: refs/heads/branch-2.6
Commit: 2fdd9f51cea3d1d8b498632ae85d7c8ee91b9d4e
Parents: bcec658
Author: arp <[email protected]>
Authored: Mon Sep 15 15:28:17 2014 -0700
Committer: Jitendra Pandey <[email protected]>
Committed: Fri Oct 17 16:00:50 2014 -0700
----------------------------------------------------------------------
.../hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/2fdd9f51/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
index 2b16a65..44a91c1 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
@@ -2410,6 +2410,10 @@ class FsDatasetImpl implements
FsDatasetSpi<FsVolumeImpl> {
LazyWriteReplicaTracker.ReplicaState replicaState =
lazyWriteReplicaTracker.getNextCandidateForEviction();
+ if (replicaState == null) {
+ break;
+ }
+
if (LOG.isDebugEnabled()) {
LOG.debug("Evicting block " + replicaState);
}