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 <[email protected]> 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 <[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
> >
>