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 bcb1a07b123e..0b853b91b1c1 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 @@ -2431,12 +2431,13 @@ public void abort(String reason, Throwable cause) { msg += "\nCause:\n" + Throwables.getStackTraceAsString(cause); } // Report to the master but only if we have already registered with the master. - if (rssStub != null && this.serverName != null) { + RegionServerStatusService.BlockingInterface rss = rssStub; + if (rss != null && this.serverName != null) { ReportRSFatalErrorRequest.Builder builder = ReportRSFatalErrorRequest.newBuilder(); builder.setServer(ProtobufUtil.toServerName(this.serverName)); builder.setErrorMessage(msg); - rssStub.reportRSFatalError(null, builder.build()); + rss.reportRSFatalError(null, builder.build()); } } catch (Throwable t) { LOG.warn("Unable to report fatal error to master", t); @@ -2645,7 +2646,8 @@ private boolean keepLooping() { private RegionServerStartupResponse reportForDuty() throws IOException { if (this.masterless) return RegionServerStartupResponse.getDefaultInstance(); ServerName masterServerName = createRegionServerStatusStub(true); - if (masterServerName == null) return null; + RegionServerStatusService.BlockingInterface rss = rssStub; + if (masterServerName == null || rss == null) return null; RegionServerStartupResponse result = null; try { rpcServices.requestCount.reset(); @@ -2664,7 +2666,7 @@ private RegionServerStartupResponse reportForDuty() throws IOException { request.setPort(port); request.setServerStartCode(this.startcode); request.setServerCurrentTime(now); - result = this.rssStub.regionServerStartup(null, request.build()); + result = rss.regionServerStartup(null, request.build()); } catch (ServiceException se) { IOException ioe = ProtobufUtil.getRemoteException(se); if (ioe instanceof ClockOutOfSyncException) {