From f2ce35f3b1cb6eaaeabacb1554e43b1521fd2728 Mon Sep 17 00:00:00 2001 From: Prabhu Joseph Date: Mon, 7 Oct 2019 19:45:03 +0530 Subject: [PATCH] YARN-9874. Remove unnecessary LevelDb write call in LeveldbConfigurationStore#confirmMutation. --- .../capacity/conf/LeveldbConfigurationStore.java | 4 +- .../webapp/dao/ConfigVersionInfo.java | 44 ++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/ConfigVersionInfo.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 743d7ef..59d6c49 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 @@ -203,8 +203,8 @@ public void logMutation(LogMutation logMutation) throws IOException { @Override public void confirmMutation(boolean isValid) throws IOException { - WriteBatch updateBatch = db.createWriteBatch(); if (isValid) { + WriteBatch updateBatch = db.createWriteBatch(); for (Map.Entry changes : pendingMutation.getUpdates().entrySet()) { if (changes.getValue() == null || changes.getValue().isEmpty()) { @@ -213,8 +213,8 @@ public void confirmMutation(boolean isValid) throws IOException { updateBatch.put(bytes(changes.getKey()), bytes(changes.getValue())); } } + db.write(updateBatch); } - db.write(updateBatch); pendingMutation = null; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/ConfigVersionInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/ConfigVersionInfo.java new file mode 100644 index 0000000..50a2728 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/ConfigVersionInfo.java @@ -0,0 +1,44 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.yarn.server.resourcemanager.webapp.dao; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Version of Scheduler Config. + */ +@XmlRootElement(name = "configversion") +@XmlAccessorType(XmlAccessType.FIELD) +public class ConfigVersionInfo { + + private long versionID; + + public ConfigVersionInfo() { + } // JAXB needs this + + public ConfigVersionInfo(long version) { + this.versionID = version; + } + + public long getVersionID() { + return this.versionID; + } + +} -- 2.7.4 (Apple Git-66)