Repository: hadoop Updated Branches: refs/heads/branch-2 0562f382f -> 27eecaef1
HDFS-7570. SecondaryNameNode need twice memory when calling reloadFromImageFile. Contributed by zhaoyunjiong. (cherry picked from commit 85aec75ce53445e1abf840076d2e10f1e3c6d69b) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/27eecaef Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/27eecaef Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/27eecaef Branch: refs/heads/branch-2 Commit: 27eecaef10feb49c4160ad289fd301bba6608973 Parents: 0562f38 Author: cnauroth <[email protected]> Authored: Tue Jan 13 16:10:28 2015 -0800 Committer: cnauroth <[email protected]> Committed: Tue Jan 13 16:10:40 2015 -0800 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/blockmanagement/BlockManager.java | 5 +++++ .../apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java | 6 +++++- .../org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/27eecaef/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 5c7b8aa..d6c16fb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -427,6 +427,9 @@ Release 2.7.0 - UNRELEASED HDFS-5445. PacketReceiver populates the packetLen field in PacketHeader incorrectly (Jonathan Mace via Colin P. McCabe) + HDFS-7470. SecondaryNameNode need twice memory when calling + reloadFromImageFile. (zhaoyunjiong via cnauroth) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/27eecaef/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java index 23ba10a..19b3ce7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java @@ -3743,4 +3743,9 @@ public class BlockManager { stopReplicationInitializer(); blocksMap.close(); } + + public void clear() { + clearQueues(); + blocksMap.clear(); + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/27eecaef/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java index 6664034..d532e74 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java @@ -86,9 +86,13 @@ class BlocksMap { void close() { + clear(); + blocks = null; + } + + void clear() { if (blocks != null) { blocks.clear(); - blocks = null; } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/27eecaef/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 8f1de2e..67dbeb1 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -585,6 +585,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, snapshotManager.clearSnapshottableDirs(); cacheManager.clear(); setImageLoaded(false); + blockManager.clear(); } @VisibleForTesting
