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

Jonathan Lawlor commented on HBASE-13007:
-----------------------------------------

Just to add to my comments above. Upon further investigation into the failing 
test in TestChoreService it seemed as though the test thread was hanging on a 
call to ScheduledChore#cancel(). I suspect that this hanging is due to the fact 
that the executing ScheduledChore was hanging in its synchronized run() method 
and thus would not let go of the lock. By removing synchronization on run() and 
making cancel() use mayInterruptIfRunning = true by default, I am hoping that a 
ScheduledChore that is hanging in its run() method can be appropriately 
cancelled.

> Fix the test timeouts being caused by ChoreService 
> ---------------------------------------------------
>
>                 Key: HBASE-13007
>                 URL: https://issues.apache.org/jira/browse/HBASE-13007
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jonathan Lawlor
>            Assignee: Jonathan Lawlor
>             Fix For: 2.0.0, 1.1.0
>
>         Attachments: HBASE-13007-v1.patch, HBASE-13007-v2.patch
>
>
> TestChoreService has been seen timing out in recent builds and the timeouts 
> seem to be rooted in how the ChoreService cancels its chores when being 
> shutdown. The issue is that during shutdown, the ChoreService calls 
> synchronized methods on the ScheduledChore which could cause indefinite 
> blocking if the scheduled chore is hanging in a synchronized method. We 
> should instead call the appropriate cancel method within the ChoreService and 
> add logic into ScheduledChores that allows them to realize when they have 
> been cancelled.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to