You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ha...@apache.org on 2018/11/21 16:56:21 UTC

zookeeper git commit: ZOOKEEPER-3177: Revert globalOutstandingLimit refactoring changes

Repository: zookeeper
Updated Branches:
  refs/heads/master 91460546a -> 1507f67a0


ZOOKEEPER-3177: Revert globalOutstandingLimit refactoring changes

Hopefully this will fix the findBugs issue on master in the right way.
lvfangmin hanm Please validate.

Author: Andor Molnar <an...@apache.org>

Reviewers: Michael Han <ha...@apache.org>, Enrico Olivelli <eo...@gmail.com>

Closes #711 from anmolnar/ZOOKEEPER-3177


Project: http://git-wip-us.apache.org/repos/asf/zookeeper/repo
Commit: http://git-wip-us.apache.org/repos/asf/zookeeper/commit/1507f67a
Tree: http://git-wip-us.apache.org/repos/asf/zookeeper/tree/1507f67a
Diff: http://git-wip-us.apache.org/repos/asf/zookeeper/diff/1507f67a

Branch: refs/heads/master
Commit: 1507f67a06175155003722297daeb60bc912af1d
Parents: 9146054
Author: Andor Molnar <an...@apache.org>
Authored: Wed Nov 21 08:56:08 2018 -0800
Committer: Michael Han <ha...@apache.org>
Committed: Wed Nov 21 08:56:08 2018 -0800

----------------------------------------------------------------------
 .../apache/zookeeper/server/ZooKeeperServer.java   | 17 ++++++++++++-----
 .../server/quorum/FollowerZooKeeperServer.java     | 12 ++++++++----
 .../server/quorum/LeaderZooKeeperServer.java       | 12 ++++++++----
 3 files changed, 28 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zookeeper/blob/1507f67a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServer.java
----------------------------------------------------------------------
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 3ab81e7..b417a8f 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
@@ -87,15 +87,11 @@ 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;
 
     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;
@@ -864,6 +860,17 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider {
         }
     }
 
+    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;
     }
@@ -1090,7 +1097,7 @@ public class ZooKeeperServer implements SessionExpirer, ServerStats.Provider {
     }
 
     public boolean shouldThrottle(long outStandingCount) {
-        if (globalOutstandingLimit < getInProcess()) {
+        if (getGlobalOutstandingLimit() < getInProcess()) {
             return outStandingCount > 0;
         }
         return false;

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/1507f67a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/FollowerZooKeeperServer.java
----------------------------------------------------------------------
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 ec529de..78c12db 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,10 +60,6 @@ public class FollowerZooKeeperServer extends LearnerZooKeeperServer {
         super(logFactory, self.tickTime, self.minSessionTimeout,
                 self.maxSessionTimeout, zkDb, self);
         this.pendingSyncs = new ConcurrentLinkedQueue<Request>();
-
-        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);
     }
 
     public Follower getFollower(){
@@ -127,6 +123,14 @@ public class FollowerZooKeeperServer extends LearnerZooKeeperServer {
     }
 
     @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";
     }

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/1507f67a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/LeaderZooKeeperServer.java
----------------------------------------------------------------------
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 c6f60e1..e1d1bb6 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
@@ -55,10 +55,6 @@ public class LeaderZooKeeperServer extends QuorumZooKeeperServer {
      */
     LeaderZooKeeperServer(FileTxnSnapLog logFactory, QuorumPeer self, ZKDatabase zkDb) throws IOException {
         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);
     }
 
     public Leader getLeader(){
@@ -107,6 +103,14 @@ public class LeaderZooKeeperServer extends QuorumZooKeeperServer {
     }
 
     @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(
                 this, getZKDatabase().getSessionWithTimeOuts(),