You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Matthieu Baechler (Jira)" <se...@james.apache.org> on 2019/12/17 08:01:00 UTC

[jira] [Closed] (JAMES-3004) Reactor boundedElastic can lead to deadlocks

     [ https://issues.apache.org/jira/browse/JAMES-3004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthieu Baechler closed JAMES-3004.
------------------------------------
    Resolution: Fixed

> Reactor boundedElastic can lead to deadlocks
> --------------------------------------------
>
>                 Key: JAMES-3004
>                 URL: https://issues.apache.org/jira/browse/JAMES-3004
>             Project: James Server
>          Issue Type: Bug
>            Reporter: Matthieu Baechler
>            Priority: Major
>
> Reactor authors advise users to prefer boundedElastic Scheduler to elastic one.
> With https://issues.apache.org/jira/browse/JAMES-2899 we decided to use it as it allows to use less threads.
> However, we found that it can lead to deadlocks because of complex starvation scenarios.
> The reality is that James is still calling `block` a lot on Mono/Flux for now and the advice doesn't stand in the context.
> We can either create a boundedElastic for each usages or revert https://issues.apache.org/jira/browse/JAMES-2899 to workaround that risk waiting for the day James will be async from end to end.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org