I think the if condition below can be kept. It is an optimization because isOnlyMetaRegionsRemaining() would loop through this.onlineRegions.entrySet()
On Fri, Jun 24, 2011 at 7:08 AM, Akash Ashok <thehellma...@gmail.com> wrote: > Sure I shall file a Bug > > Also I dnt think this condition checking itself is required in run() > > if (!onlyMetaRegionsRemaining) { > onlyMetaRegionsRemaining = isOnlyMetaRegionsRemaining(); > } > > isOnlyMetaRegionsRemaining() is anyways gonna initialize it right ? > without > checking the condition we can run > > onlyMetaRegionsRemaining = isOnlyMetaRegionsRemaining(); > > Secondly as u said in isOnlyMetaRegionsRemaining() could be initialized to > true instead of setting it to true everytime in the loop > > Thanks > > On Fri, Jun 24, 2011 at 6:37 PM, Ted Yu <yuzhih...@gmail.com> wrote: > > > 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 <thehellma...@gmail.com> > > 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 > > > > > >