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; }
