Repository: hive Updated Branches: refs/heads/master 936bc30a7 -> cd464e9fd
HIVE-13834 : Use LinkedHashMap instead of HashMap for LockRequestBuilder to maintain predictable iteration order (Wei Zheng, reviewed by Eugene Koifman) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/cd464e9f Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/cd464e9f Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/cd464e9f Branch: refs/heads/master Commit: cd464e9fdd5d7b2a18b91bdc253cd1ffe8a5cdd4 Parents: 936bc30 Author: Wei Zheng <w...@apache.org> Authored: Wed Jun 1 10:32:13 2016 -0700 Committer: Wei Zheng <w...@apache.org> Committed: Wed Jun 1 10:32:13 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hive/metastore/LockRequestBuilder.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/cd464e9f/metastore/src/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java ---------------------------------------------------------------------- diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java b/metastore/src/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java index 6317a96..00a1907 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java @@ -23,7 +23,7 @@ import org.apache.hadoop.hive.metastore.api.LockType; import java.net.InetAddress; import java.net.UnknownHostException; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; /** @@ -102,13 +102,13 @@ public class LockRequestBuilder { // level of locking. To do this we put all locks components in trie based // on dbname, tablename, partition name and handle the promotion as new // requests come in. This structure depends on the fact that null is a - // valid key in a HashMap. So a database lock will map to (dbname, null, + // valid key in a LinkedHashMap. So a database lock will map to (dbname, null, // null). private static class LockTrie { Map<String, TableTrie> trie; LockTrie() { - trie = new HashMap<String, TableTrie>(); + trie = new LinkedHashMap<String, TableTrie>(); } public void add(LockComponent comp) { @@ -156,10 +156,10 @@ public class LockRequestBuilder { } } - private static class TableTrie extends HashMap<String, PartTrie> { + private static class TableTrie extends LinkedHashMap<String, PartTrie> { } - private static class PartTrie extends HashMap<String, LockComponent> { + private static class PartTrie extends LinkedHashMap<String, LockComponent> { }