You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (Commented) (JIRA)" <ji...@apache.org> on 2011/11/26 17:51:40 UTC
[jira] [Commented] (HBASE-4833) HRegionServer stops could be 0.5s
faster
[ https://issues.apache.org/jira/browse/HBASE-4833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157543#comment-13157543 ]
Ted Yu commented on HBASE-4833:
-------------------------------
Integrated to TRUNK.
Thanks for the patch, N.
> HRegionServer stops could be 0.5s faster
> ----------------------------------------
>
> Key: HBASE-4833
> URL: https://issues.apache.org/jira/browse/HBASE-4833
> Project: HBase
> Issue Type: Improvement
> Components: regionserver, test
> Affects Versions: 0.94.0
> Environment: all
> Reporter: nkeywal
> Assignee: nkeywal
> Priority: Minor
> Attachments: 4833_trunk_hregionserver.patch, 4833_trunk_hregionserver.v2.patch
>
>
> The current implementation of HRegionServer#stop is
> {noformat}
> public void stop(final String msg) {
> this.stopped = true;
> LOG.info("STOPPED: " + msg);
> synchronized (this) {
> // Wakes run() if it is sleeping
> notifyAll(); // FindBugs NN_NAKED_NOTIFY
> }
> }
> {noformat}
> The notification is sent on the wrong object and does nothing. As a consequence, the region server continues to sleep instead of waking up and stopping immediately. A correct implementation is:
> {noformat}
> public void stop(final String msg) {
> this.stopped = true;
> LOG.info("STOPPED: " + msg);
> // Wakes run() if it is sleeping
> sleeper.skipSleepCycle();
> }
> {noformat}
> Then the region server stops immediately. This makes the region server stops 0,5s faster on average, which is quite useful for unit tests.
> However, with this fix, TestRegionServerCoprocessorExceptionWithAbort does not work.
> It likely because the code does no expect the region server to stop that fast. See HBASE-4832
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira