Repository: hbase
Updated Branches:
  refs/heads/branch-1 0b0948920 -> d665cbf63


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/d665cbf6
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d665cbf6
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d665cbf6

Branch: refs/heads/branch-1
Commit: d665cbf630daf15d16fd0c557be63154b276cbdd
Parents: 0b09489
Author: Jimmy Xiang <[email protected]>
Authored: Wed Oct 8 18:22:33 2014 -0700
Committer: Jimmy Xiang <[email protected]>
Committed: Wed Oct 8 20:42:15 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/d665cbf6/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 234791c..297ce5c 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
@@ -2075,11 +2075,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;
   }

Reply via email to