YARN-7024: Fix issues on recovery in LevelDB store. Contributed by Jonathan Hung
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c59418fb Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c59418fb Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c59418fb Branch: refs/heads/YARN-5734 Commit: c59418fb19094e9c735e631e098637d3b5eba3b3 Parents: ba53795 Author: Xuan <xg...@apache.org> Authored: Wed Aug 23 11:11:41 2017 -0700 Committer: Jonathan Hung <jh...@linkedin.com> Committed: Wed Sep 20 17:40:54 2017 -0700 ---------------------------------------------------------------------- .../scheduler/capacity/conf/InMemoryConfigurationStore.java | 2 +- .../scheduler/capacity/conf/LeveldbConfigurationStore.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c59418fb/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/InMemoryConfigurationStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/InMemoryConfigurationStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/InMemoryConfigurationStore.java index b97be1b..c63734d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/InMemoryConfigurationStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/InMemoryConfigurationStore.java @@ -79,7 +79,7 @@ public class InMemoryConfigurationStore implements YarnConfigurationStore { @Override public synchronized List<LogMutation> getPendingMutations() { - return pendingMutations; + return new LinkedList<>(pendingMutations); } @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/c59418fb/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/LeveldbConfigurationStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/LeveldbConfigurationStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/LeveldbConfigurationStore.java index 1534685..1280fab 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/LeveldbConfigurationStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/LeveldbConfigurationStore.java @@ -65,6 +65,7 @@ public class LeveldbConfigurationStore implements YarnConfigurationStore { private static final String LOG_COMMITTED_TXN = "committedTxn"; private DB db; + // Txnid for the last transaction logged to the store. private long txnId = 0; private long minTxn = 0; private long maxLogs; @@ -92,6 +93,7 @@ public class LeveldbConfigurationStore implements YarnConfigurationStore { break; } pendingMutations.add(deserLogMutation(entry.getValue())); + txnId++; } // Get the earliest txnId stored in logs itr.seekToFirst(); @@ -278,7 +280,7 @@ public class LeveldbConfigurationStore implements YarnConfigurationStore { @Override public List<LogMutation> getPendingMutations() { - return pendingMutations; + return new LinkedList<>(pendingMutations); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org