HDFS-9003. ForkJoin thread pool leaks. Contributed by Kihwal Lee.

(cherry picked from commit de928d566a119f0b7fa5f171719642cd86be0af7)
(cherry picked from commit 1d56325a80cdac5820079ac04fa18a7e5126f8ef)

Conflicts:
	hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
(cherry picked from commit 879567d24a6e3b625f639a88137fb1654c54c18f)

Conflicts:
	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 2d2228a..36fc64f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -32,6 +32,8 @@
 
     HDFS-8865. Improve quota initialization performance. Contributed by Kihwal Lee.
 
+    HDFS-9003. ForkJoin thread pool leaks. (Kihwal Lee via jing9)
+
 Release 2.6.5 - 2016-10-08
 
   INCOMPATIBLE CHANGES
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
index 9490c2c..9576869 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
@@ -871,6 +871,7 @@ static void updateCountForQuota(INodeDirectory root, int threads) {
     RecursiveAction task = new InitQuotaTask(root, counts);
     p.execute(task);
     task.join();
+    p.shutdown();
     LOG.info("Quota initialization completed in " + (Time.now() - start) +
         " milliseconds\n" + counts);
   }