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

ASF GitHub Bot commented on ARTEMIS-1499:
-----------------------------------------

Github user franz1981 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1638
  
    @gemmellr @clebertsuconic I'm not very used to "even loop" patterns hence I 
call for help :)
    
    I've found that our `ArtemisExecutor` deadlock with the (fresh new) test 
`shouldSubmitBlockingTasksFromEventLoopMaintainingOrder` TL;DR if a 
`CountDownLatch::await` is blocking the event loop while waiting a submitted 
`CoundDownLatch::countDown`.
    Enforcing any code rule to avoid these patterns to be used it not simple, 
hence I've provided a fix to it.
    Just as a note, the same pattern (verified) blocks the Netty's `EventLoop` 
too.
    This fix come at the cost of a potential bigger calls stack, but providing 
a good boost for "in event loop" executions too, but I'm not 100% to have 
messed up with others things.
    Wdyt?



> ArtemisExecutor and ProcessorBase needs support of recursive blocking 
> executions
> --------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1499
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1499
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Major
>
> The (ProcessorBase and) ArtemisExecutor allows recursive executions of 
> blocking tasks (FutureLatch) that block the background event loop: it would 
> be optimal to support recursive executions to handle them.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to