hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7778) [snapshot 130201 merge] Tests with sleep after minicluster shutdown fail due to interrupt flag.
Date Wed, 06 Feb 2013 20:01:15 GMT

    [ https://issues.apache.org/jira/browse/HBASE-7778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13572758#comment-13572758
] 

Jonathan Hsieh commented on HBASE-7778:
---------------------------------------

This was suggested by [~tedyu@apache.org] over in HBASE-7290.
----

In RegionServerSnapshotManager#cancelTasks():

{code}
      while (!futures.isEmpty()) {
        // block to remove cancelled futures;
        LOG.warn("Removing cancelled elements from taskPool");
        futures.remove(taskPool.take());
      }
{code}

I think the log should be outside while loop.
taskPool.take() may throw InterruptedException. I think the futures.remove() call should be
wrapped in try block.
                
> [snapshot 130201 merge] Tests with sleep after minicluster shutdown fail due to interrupt
flag.
> -----------------------------------------------------------------------------------------------
>
>                 Key: HBASE-7778
>                 URL: https://issues.apache.org/jira/browse/HBASE-7778
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Jonathan Hsieh
>
> Something in the merge has set the interrupted flag on the main test threads of TestReplicationDisabledinactivePeer,
TestRestartCluster, and TestCatalogTrackerOnCluster.  
> These unacceptable hacks make the tests run and pass: 
> {code}
> diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTrackerOnCluster.java
b/hbase-server/src/test/java/or
> index f3e57d6..a8d2ef7 100644
> --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTrackerOnCluster.java
> +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTrackerOnCluster.java
> @@ -47,6 +47,7 @@ public class TestCatalogTrackerOnCluster {
>      // Shutdown hbase.
>      UTIL.shutdownMiniHBaseCluster();
>      // Give the various ZKWatchers some time to settle their affairs.
> +    Thread.interrupted(); // HACK clear interrupt state.
>      Thread.sleep(1000);
>  
>      // Mess with the root location in the running zk.  Set it to be nonsense.
> diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
b/hbase-server/src/test/java/org/apache/h
> index 15225e1..9f7f526 100644
> --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
> +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
> @@ -108,6 +108,7 @@ public class TestRestartCluster {
>      UTIL.shutdownMiniHBaseCluster();
>  
>      LOG.info("\n\nSleeping a bit");
> +    Thread.interrupted(); // HACK clear interrupt state.
>      Thread.sleep(2000);
>  
>      LOG.info("\n\nStarting cluster the second time");
> diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java
b/hbase-server/src/t
> index b089fbe..8162f4b 100644
> --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java
> +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationDisableInactivePeer.java
> @@ -50,6 +50,7 @@ public class TestReplicationDisableInactivePeer extends TestReplicationBase
{
>      // enabling and shutdown the peer
>      admin.enablePeer("2");
>      utility2.shutdownMiniHBaseCluster();
> +    Thread.interrupted(); // HACK clear interrupted flag.
>  
>      byte[] rowkey = Bytes.toBytes("disable inactive peer");
>      Put put = new Put(rowkey);
> {code}
> On the snapshot branch and on the trunk branch before the merge, these tests passed.
Need to figure out how they combination caused this behavior change.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message