MAPREDUCE-1974. Fix multiple preemtions of the same task in FairScheduler. Contributed by Scott Chen.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@1067321 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 87253d1..0dc4d69 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -541,6 +541,9 @@
     MAPREDUCE-1915. Fix IndexOutOfBoundsException in IndexCache.
     (Priyo Mustafi via shv)
 
+    MAPREDUCE-1974. Fix multiple preemtions of the same task in FairScheduler.
+    (Scott Chen via shv)
+
 Release 0.21.1 - Unreleased
 
   NEW FEATURES
diff --git a/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairScheduler.java b/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairScheduler.java
index 456486f..34193d7 100644
--- a/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairScheduler.java
+++ b/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairScheduler.java
@@ -924,7 +924,7 @@
 
   private List<TaskStatus> getRunningTasks(JobInProgress job, TaskType type) {
     // Create a list of all running TaskInProgress'es in the job
-    List<TaskInProgress> tips = new ArrayList<TaskInProgress>();
+    Set<TaskInProgress> tips = new HashSet<TaskInProgress>();
     if (type == TaskType.MAP) {
       // Jobs may have both "non-local maps" which have a split with no locality
       // info (e.g. the input file is not in HDFS), and maps with locality info,