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 <[email protected]> Authored: Wed Oct 8 18:22:33 2014 -0700 Committer: Jimmy Xiang <[email protected]> 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; }
