You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Alex Newman (JIRA)" <ji...@apache.org> on 2014/08/21 21:01:12 UTC

[jira] [Commented] (HBASE-11798) TestBucketWriterThread can zombie test

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

Alex Newman commented on HBASE-11798:
-------------------------------------

I noticed when trying to commit HBASE-4955 that TestBucketWriterThread can zombie in its setup function.

I also noticed
"main" prio=10 tid=0x00007fa9e000a800 nid=0x571 waiting on condition [0x00007fa9e6184000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.apache.hadoop.hbase.util.Threads.sleep(Threads.java:143)
	at org.apache.hadoop.hbase.io.hfile.bucket.TestBucketWriterThread.setUp(TestBucketWriterThread.java:78)

In the jstack at https://builds.apache.org/job/PreCommit-HBASE-Build/10511/console

Looking at the code

    this.plainCacheable = Mockito.mock(Cacheable.class);
    bc.cacheBlock(this.plainKey, plainCacheable);
    while(!bc.ramCache.isEmpty()) Threads.sleep(1); <- where we hang
    assertTrue(q.isEmpty());
    // Now writer thread should be disabled.

At first I was confused but then I realized that isn't Thread.sleep it is Threads.sleep
  /**
   * If interrupted, just prints out the interrupt on STDOUT, resets interrupt and returns
   * @param millis How long to sleep for in milliseconds.
   */
  public static void sleep(long millis) {
    try {
      Thread.sleep(millis);
    } catch (InterruptedException e) {
      e.printStackTrace();
      Thread.currentThread().interrupt();
    }
  }


I don't know if we need this. I am curious if we can fix it with a different sleep command.

> TestBucketWriterThread can zombie test
> --------------------------------------
>
>                 Key: HBASE-11798
>                 URL: https://issues.apache.org/jira/browse/HBASE-11798
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Alex Newman
>            Assignee: Alex Newman
>




--
This message was sent by Atlassian JIRA
(v6.2#6252)