[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=13157478#comment-13157478 ] nkeywal commented on HBASE-4833: The v2 is for the new trunk, can be integrated after or together with hbase-4832. > 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
[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=13154129#comment-13154129 ] nkeywal commented on HBASE-4833: I created HBASE-4832 to follow the fix on TestRegionServerCoprocessorExceptionWithAbort and added a link. > 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 > > > 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
[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=13153981#comment-13153981 ] stack commented on HBASE-4833: -- +1 on patch but can't commit it if it breaks TestRegionServerCoprocessorExceptionWithAbort. Any chance of including fix for that 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 > > > 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