Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1038347) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -615,12 +615,12 @@ // Send interrupts to wake up threads if sleeping so they notice shutdown. // TODO: Should we check they are alive? If OOME could have exited already - cacheFlusher.interruptIfNecessary(); - compactSplitThread.interruptIfNecessary(); - hlogRoller.interruptIfNecessary(); - this.majorCompactionChecker.interrupt(); + if (this.cacheFlusher != null) this.cacheFlusher.interruptIfNecessary(); + if (this.compactSplitThread != null) this.compactSplitThread.interruptIfNecessary(); + if (this.hlogRoller != null) this.hlogRoller.interruptIfNecessary(); + if (this.majorCompactionChecker != null) this.majorCompactionChecker.interrupt(); - if (killed) { + if (this.killed) { // Just skip out w/o closing regions. } else if (abortRequested) { if (this.fsOk) { @@ -636,7 +636,7 @@ } // Interrupt catalog tracker here in case any regions being opened out in // handlers are stuck waiting on meta or root. - this.catalogTracker.stop(); + if (this.catalogTracker != null) this.catalogTracker.stop(); waitOnAllRegionsToClose(); // Make sure the proxy is down.