You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (Commented) (JIRA)" <ji...@apache.org> on 2012/04/02 19:11:24 UTC
[jira] [Commented] (HBASE-5672)
TestLruBlockCache#testBackgroundEvictionThread fails occasionally
[ https://issues.apache.org/jira/browse/HBASE-5672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244343#comment-13244343 ]
stack commented on HBASE-5672:
------------------------------
bq. I think Thread.isAlive returns true if we have called Thread.start(),however, Thread.run() haven't been executed at that time.
That may be so (I've not looked at source). Do you want to have a flag in the Thread that gets set when you enter the run method and check that too?
The above would still be better than a timed wait.
> TestLruBlockCache#testBackgroundEvictionThread fails occasionally
> -----------------------------------------------------------------
>
> Key: HBASE-5672
> URL: https://issues.apache.org/jira/browse/HBASE-5672
> Project: HBase
> Issue Type: Bug
> Reporter: chunhui shen
> Assignee: chunhui shen
> Attachments: HBASE-5672.patch
>
>
> We find TestLruBlockCache#testBackgroundEvictionThread fails occasionally.
> I think it's a problem of the test case.
> Because runEviction() only do evictionThread.evict():
> {code}
> public void evict() {
> synchronized(this) {
> this.notify(); // FindBugs NN_NAKED_NOTIFY
> }
> }
> {code}
> However when we call evictionThread.evict(), the evictionThread may haven't been in run() in the TestLruBlockCache#testBackgroundEvictionThread.
> If we run the test many times, we could find failture easily.
--
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