You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2014/10/09 05:41:23 UTC

git commit: HBASE-12209 NPE in HRegionServer#getLastSequenceId

Repository: hbase
Updated Branches:
  refs/heads/master 922ced0d0 -> 2c07372c2


HBASE-12209 NPE in HRegionServer#getLastSequenceId


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

Branch: refs/heads/master
Commit: 2c07372c2f923cc8421045915773d33611ce28d8
Parents: 922ced0
Author: Jimmy Xiang <jx...@cloudera.com>
Authored: Wed Oct 8 18:22:33 2014 -0700
Committer: Jimmy Xiang <jx...@cloudera.com>
Committed: Wed Oct 8 20:40:45 2014 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/regionserver/HRegionServer.java    | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/2c07372c/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index f45f890..7c1e805 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -2110,11 +2110,23 @@ public class HRegionServer extends HasThread implements
     try {
       GetLastFlushedSequenceIdRequest req = RequestConverter
           .buildGetLastFlushedSequenceIdRequest(region);
-      lastFlushedSequenceId = rssStub.getLastFlushedSequenceId(null, req)
+      RegionServerStatusService.BlockingInterface rss = rssStub;
+      if (rss == null) { // Try to connect one more time
+        createRegionServerStatusStub();
+        rss = rssStub;
+        if (rss == null) {
+          // Still no luck, we tried
+          LOG.warn("Unable to connect to the master to check "
+            + "the last flushed sequence id");
+          return -1l;
+        }
+      }
+      lastFlushedSequenceId = rss.getLastFlushedSequenceId(null, req)
           .getLastFlushedSequenceId();
     } catch (ServiceException e) {
       lastFlushedSequenceId = -1l;
-      LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id", e);
+      LOG.warn("Unable to connect to the master to check "
+        + "the last flushed sequence id", e);
     }
     return lastFlushedSequenceId;
   }