hi St,
Pls find my analysis on HBASE-3821
try {
LOG.info("Running rollback of failed split of " +
parent.getRegionNameAsString() + "; " + ioe.getMessage());
st.rollback(this.server);
LOG.info("Successful rollback of failed split of " +
parent.getRegionNameAsString());
} catch (RuntimeException e) {
// If failed rollback, kill this server to avoid having a hole in
table.
LOG.info("Failed rollback of failed split of " +
parent.getRegionNameAsString() + " -- aborting server", e);
this.server.abort("Failed split");
}
return;
Here when we try to roll back there is again a chance of getting the
IOException due to DFS errors.
But we try to catch RunTimeException and not IOException.
so this exception gets propogated to the run() of CompactSplitThread.
And there again we dont handle it and the exception that occured during
rollback is not handled.
Regards
Ram
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Stack
Sent: Tuesday, April 26, 2011 11:56 PM
To: [email protected]
Subject: Re: "NOT flushing memstore for region" keep on printing for half an
hour
Nice digging Zhou. If you have a patch, we'd love to have it.
St.Ack
On Tue, Apr 26, 2011 at 4:34 AM, Zhoushuaifeng <[email protected]>
wrote:
> Hi St,
> I have made an issue in hbase jira:
> https://issues.apache.org/jira/browse/HBASE-3821
> Including my analysis, please check it.
> If it's reasonable, I can provide patch to fix it.
>
> Zhou Shuaifeng(Frank)
>