From e117fc614bd781daa81d17a219188f5cd7428d6d Mon Sep 17 00:00:00 2001 From: vtumati Date: Wed, 21 Nov 2018 18:47:31 +0530 Subject: [PATCH 1/4] Master FindBug issues fix --- .../ZookeeperServerStabilizerConfig.java | 30 +++++++++++++++++++ .../zookeeper/server/ZooKeeperServer.java | 11 ++++--- .../quorum/FollowerZooKeeperServer.java | 4 +-- .../server/quorum/LeaderZooKeeperServer.java | 4 +-- 4 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java new file mode 100644 index 00000000000..abb11a682e8 --- /dev/null +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java @@ -0,0 +1,30 @@ +/** + * + */ +package org.apache.zookeeper.common; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ZookeeperServerStabilizerConfig { + protected static final Logger LOG = LoggerFactory.getLogger(ZookeeperServerStabilizerConfig.class); + + public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; + + private int globalOutstandingLimit =1000; + + + public ZookeeperServerStabilizerConfig() { + setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000)); + LOG.info("{} = {}", GLOBAL_OUTSTANDING_LIMIT, getGlobalOutstandingLimit()); + } + + public int getGlobalOutstandingLimit() { + return globalOutstandingLimit; + } + + public void setGlobalOutstandingLimit(int globalOutstandingLimit) { + this.globalOutstandingLimit = globalOutstandingLimit; + } + +} diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java index 3ab81e71ca9..1e415af717b 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java @@ -49,6 +49,7 @@ import org.apache.zookeeper.KeeperException.SessionExpiredException; import org.apache.zookeeper.ZooDefs.OpCode; import org.apache.zookeeper.common.Time; +import org.apache.zookeeper.common.ZookeeperServerStabilizerConfig; import org.apache.zookeeper.data.ACL; import org.apache.zookeeper.data.Id; import org.apache.zookeeper.data.StatPersisted; @@ -87,15 +88,13 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider { protected static final Logger LOG; public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; - protected static int globalOutstandingLimit = 1000; + + public static final ZookeeperServerStabilizerConfig zookeeperServerStabilizerConfig = new ZookeeperServerStabilizerConfig(); + static { LOG = LoggerFactory.getLogger(ZooKeeperServer.class); - Environment.logEnv("Server environment:", LOG); - - globalOutstandingLimit = Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000); - LOG.info("{} = {}", GLOBAL_OUTSTANDING_LIMIT, globalOutstandingLimit); } protected ZooKeeperServerBean jmxServerBean; @@ -1090,7 +1089,7 @@ public void processConnectRequest(ServerCnxn cnxn, ByteBuffer incomingBuffer) th } public boolean shouldThrottle(long outStandingCount) { - if (globalOutstandingLimit < getInProcess()) { + if (zookeeperServerStabilizerConfig.getGlobalOutstandingLimit() < getInProcess()) { return outStandingCount > 0; } return false; diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java index ec529de1843..eb0dfa148cd 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java @@ -62,8 +62,8 @@ public class FollowerZooKeeperServer extends LearnerZooKeeperServer { this.pendingSyncs = new ConcurrentLinkedQueue(); int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; - globalOutstandingLimit = Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor; - LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, globalOutstandingLimit); + zookeeperServerStabilizerConfig.setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor); + LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, zookeeperServerStabilizerConfig.getGlobalOutstandingLimit()); } public Follower getFollower(){ diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java index c6f60e115e1..e6cf54a7138 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java @@ -57,8 +57,8 @@ public class LeaderZooKeeperServer extends QuorumZooKeeperServer { super(logFactory, self.tickTime, self.minSessionTimeout, self.maxSessionTimeout, zkDb, self); int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; - globalOutstandingLimit = Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor; - LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, globalOutstandingLimit); + zookeeperServerStabilizerConfig.setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor); + LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, zookeeperServerStabilizerConfig.getGlobalOutstandingLimit()); } public Leader getLeader(){ From ce35d770e83d54290b95941970df5f88694f97b7 Mon Sep 17 00:00:00 2001 From: vtumati Date: Wed, 21 Nov 2018 19:12:15 +0530 Subject: [PATCH 2/4] Adding Apache License header. --- .../ZookeeperServerStabilizerConfig.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java index abb11a682e8..fd7cdc4fbdf 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java @@ -1,6 +1,21 @@ /** - * + * 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.zookeeper.common; import org.slf4j.Logger; @@ -11,9 +26,8 @@ public class ZookeeperServerStabilizerConfig { public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; - private int globalOutstandingLimit =1000; + private int globalOutstandingLimit = 1000; - public ZookeeperServerStabilizerConfig() { setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000)); LOG.info("{} = {}", GLOBAL_OUTSTANDING_LIMIT, getGlobalOutstandingLimit()); From c16b9fec949b99b447b1d3f1211b344550e01b14 Mon Sep 17 00:00:00 2001 From: vtumati Date: Thu, 22 Nov 2018 12:38:26 +0530 Subject: [PATCH 3/4] Merge Conflicts --- .../zookeeper/server/ZooKeeperServer.java | 22 ---------------- .../quorum/FollowerZooKeeperServer.java | 16 ------------ .../server/quorum/LeaderZooKeeperServer.java | 26 +++++-------------- 3 files changed, 6 insertions(+), 58 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java index 2b9fbf77a74..e8ec692579a 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java @@ -88,15 +88,8 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider { protected static final Logger LOG; public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; -<<<<<<< .mine public static final ZookeeperServerStabilizerConfig zookeeperServerStabilizerConfig = new ZookeeperServerStabilizerConfig(); - -======= - - - ->>>>>>> .theirs static { LOG = LoggerFactory.getLogger(ZooKeeperServer.class); @@ -869,17 +862,6 @@ public static int getSnapCount() { } } - public int getGlobalOutstandingLimit() { - String sc = System.getProperty(GLOBAL_OUTSTANDING_LIMIT); - int limit; - try { - limit = Integer.parseInt(sc); - } catch (Exception e) { - limit = 1000; - } - return limit; - } - public void setServerCnxnFactory(ServerCnxnFactory factory) { serverCnxnFactory = factory; } @@ -1106,11 +1088,7 @@ public void processConnectRequest(ServerCnxn cnxn, ByteBuffer incomingBuffer) th } public boolean shouldThrottle(long outStandingCount) { -<<<<<<< .mine if (zookeeperServerStabilizerConfig.getGlobalOutstandingLimit() < getInProcess()) { -======= - if (getGlobalOutstandingLimit() < getInProcess()) { ->>>>>>> .theirs return outStandingCount > 0; } return false; diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java index 94a007b7609..dc445ea5557 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java @@ -60,17 +60,9 @@ public class FollowerZooKeeperServer extends LearnerZooKeeperServer { super(logFactory, self.tickTime, self.minSessionTimeout, self.maxSessionTimeout, zkDb, self); this.pendingSyncs = new ConcurrentLinkedQueue(); -<<<<<<< .mine - int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; zookeeperServerStabilizerConfig.setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor); LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, zookeeperServerStabilizerConfig.getGlobalOutstandingLimit()); -======= - - - - ->>>>>>> .theirs } public Follower getFollower(){ @@ -133,14 +125,6 @@ synchronized public void sync(){ commitProcessor.commit(r); } - @Override - public int getGlobalOutstandingLimit() { - int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; - int globalOutstandingLimit = super.getGlobalOutstandingLimit() / divisor; - LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, globalOutstandingLimit); - return globalOutstandingLimit; - } - @Override public String getState() { return "follower"; diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java index 66dafcefbc4..8eec6271937 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java @@ -54,18 +54,12 @@ public class LeaderZooKeeperServer extends QuorumZooKeeperServer { * @throws IOException */ LeaderZooKeeperServer(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb) throws IOException { - super(logFactory, self.tickTime, self.minSessionTimeout, self.maxSessionTimeout, zkDb, self); -<<<<<<< .mine - - int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; - zookeeperServerStabilizerConfig.setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor); - LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, zookeeperServerStabilizerConfig.getGlobalOutstandingLimit()); -======= - - - - ->>>>>>> .theirs + super(logFactory, self.tickTime, self.minSessionTimeout, self.maxSessionTimeout, zkDb, self); + int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; + zookeeperServerStabilizerConfig + .setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000) / divisor); + LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, + zookeeperServerStabilizerConfig.getGlobalOutstandingLimit()); } public Leader getLeader(){ @@ -113,14 +107,6 @@ public synchronized void shutdown() { super.shutdown(); } - @Override - public int getGlobalOutstandingLimit() { - int divisor = self.getQuorumSize() > 2 ? self.getQuorumSize() - 1 : 1; - int globalOutstandingLimit = super.getGlobalOutstandingLimit() / divisor; - LOG.info("Override {} to {}", GLOBAL_OUTSTANDING_LIMIT, globalOutstandingLimit); - return globalOutstandingLimit; - } - @Override public void createSessionTracker() { sessionTracker = new LeaderSessionTracker( From 05a512405ac8c1d93473a7ee10b4622f6905b695 Mon Sep 17 00:00:00 2001 From: vtumati Date: Thu, 29 Nov 2018 06:51:24 +0530 Subject: [PATCH 4/4] formatting --- .../ZookeeperServerStabilizerConfig.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java index fd7cdc4fbdf..1481004f773 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/ZookeeperServerStabilizerConfig.java @@ -22,23 +22,23 @@ import org.slf4j.LoggerFactory; public class ZookeeperServerStabilizerConfig { - protected static final Logger LOG = LoggerFactory.getLogger(ZookeeperServerStabilizerConfig.class); + protected static final Logger LOG = LoggerFactory.getLogger(ZookeeperServerStabilizerConfig.class); - public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; + public static final String GLOBAL_OUTSTANDING_LIMIT = "zookeeper.globalOutstandingLimit"; - private int globalOutstandingLimit = 1000; + private int globalOutstandingLimit = 1000; - public ZookeeperServerStabilizerConfig() { - setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000)); - LOG.info("{} = {}", GLOBAL_OUTSTANDING_LIMIT, getGlobalOutstandingLimit()); - } + public ZookeeperServerStabilizerConfig() { + setGlobalOutstandingLimit(Integer.getInteger(GLOBAL_OUTSTANDING_LIMIT, 1000)); + LOG.info("{} = {}", GLOBAL_OUTSTANDING_LIMIT, getGlobalOutstandingLimit()); + } - public int getGlobalOutstandingLimit() { - return globalOutstandingLimit; - } + public int getGlobalOutstandingLimit() { + return globalOutstandingLimit; + } - public void setGlobalOutstandingLimit(int globalOutstandingLimit) { - this.globalOutstandingLimit = globalOutstandingLimit; - } + public void setGlobalOutstandingLimit(int globalOutstandingLimit) { + this.globalOutstandingLimit = globalOutstandingLimit; + } }