[
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)