[
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