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/4d8abd84 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4d8abd84 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4d8abd84 Branch: refs/heads/YARN-5881 Commit: 4d8abd84f40a6124e7b05b34c14b4035309623ef Parents: 4c8b208 Author: Xuan <[email protected]> Authored: Wed Aug 23 11:11:41 2017 -0700 Committer: Jonathan Hung <[email protected]> Committed: Mon Oct 9 11:11:23 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/4d8abd84/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/4d8abd84/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: [email protected] For additional commands, e-mail: [email protected]
