Repository: hbase
Updated Branches:
  refs/heads/master 3c06b4818 -> b5764a8e7


HBASE-12399 Master startup race between metrics and RpcServer


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

Branch: refs/heads/master
Commit: b5764a8e74179bfc0c09a416d51271116b903c2c
Parents: 3c06b48
Author: Nick Dimiduk <[email protected]>
Authored: Fri Oct 31 17:48:09 2014 -0700
Committer: Nick Dimiduk <[email protected]>
Committed: Sat Nov 1 10:45:45 2014 -0700

----------------------------------------------------------------------
 .../hbase/ipc/MetricsHBaseServerWrapperImpl.java    | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b5764a8e/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
index 09a9ea0..63c4b32 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java
@@ -27,9 +27,13 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
     this.server = server;
   }
 
+  private boolean isServerStarted() {
+    return this.server != null && this.server.isStarted();
+  }
+
   @Override
   public long getTotalQueueSize() {
-    if (this.server == null) {
+    if (!isServerStarted()) {
       return 0;
     }
     return server.callQueueSize.get();
@@ -37,7 +41,7 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
 
   @Override
   public int getGeneralQueueLength() {
-    if (this.server == null || this.server.getScheduler() == null) {
+    if (!isServerStarted() || this.server.getScheduler() == null) {
       return 0;
     }
     return server.getScheduler().getGeneralQueueLength();
@@ -45,7 +49,7 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
 
   @Override
   public int getReplicationQueueLength() {
-    if (this.server == null || this.server.getScheduler() == null) {
+    if (!isServerStarted() || this.server.getScheduler() == null) {
       return 0;
     }
     return server.getScheduler().getReplicationQueueLength();
@@ -53,7 +57,7 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
 
   @Override
   public int getPriorityQueueLength() {
-    if (this.server == null || this.server.getScheduler() == null) {
+    if (!isServerStarted() || this.server.getScheduler() == null) {
       return 0;
     }
     return server.getScheduler().getPriorityQueueLength();
@@ -61,7 +65,7 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
 
   @Override
   public int getNumOpenConnections() {
-    if (this.server == null || this.server.connectionList == null) {
+    if (!isServerStarted() || this.server.connectionList == null) {
       return 0;
     }
     return server.connectionList.size();
@@ -69,7 +73,7 @@ public class MetricsHBaseServerWrapperImpl implements 
MetricsHBaseServerWrapper
 
   @Override
   public int getActiveRpcHandlerCount() {
-    if (this.server == null || this.server.getScheduler() == null) {
+    if (!isServerStarted() || this.server.getScheduler() == null) {
       return 0;
     }
     return server.getScheduler().getActiveRpcHandlerCount();

Reply via email to