Good catch. Also, I think in isOnlyMetaRegionsRemaining(), onlyMetaRegionsRemaining should be initialized to true so that the cleanup at line 638 can proceed if this.onlineRegions is empty.
Mind filing a bug ? Thanks On Fri, Jun 24, 2011 at 5:52 AM, Akash Ashok <[email protected]> wrote: > stop-hbase.sh never stopped once deployed the 0.91 trunk jar onto my hbase > setup. Figured out that the Meta regions were never closed and hbase would > stop only when logging in debug mode is enabled. > > Here is the code snippet from HResionServer.java on HBaseTrunk: > > else if (this.stopping && LOG.isDebugEnabled()) { > LOG.info("Only meta regions remain open"); > if (!onlyMetaRegionsRemaining) { > onlyMetaRegionsRemaining = isOnlyMetaRegionsRemaining(); > } > if (onlyMetaRegionsRemaining) { > // Set stopped if no requests since last time we went around > the loop. > // The remaining meta regions will be closed on our way out. > if (oldRequestCount == this.requestCount.get()) { > stop("Stopped; only catalog regions remaining online"); > break; > } > oldRequestCount = this.requestCount.get(); > } > LOG.debug("Waiting on " + getOnlineRegionsAsPrintableString()); > } > > I feel this condition is inappropriate. Can i remove this condition check ? > > Regards, > Akash A >
