Pavel, thank you for your answer. Sorry, the previous version of IEP motivation highlighted what could be wrong with user listeners, so I thought that is the main problem.
I'm wondering why you suggest using ForkJoinPool.commonPool as the default pool to run listeners? ср, 17 мар. 2021 г. в 11:51, Alexey Kukushkin <kukushkinale...@gmail.com>: > My initial confusion was due to I did not know the > TaskCompletionSource.SetResult() internally handles > SynchronizationContext captured before the async operation. I thought we > would have to do it in Ignite. Now I know that and have no problems with > the IEP. > > ср, 17 мар. 2021 г. в 11:18, Pavel Tupitsyn <ptupit...@apache.org>: > > > Denis, > > > > > we don't try to solve the problem mentioned in the IEP > > > > The problem: user code executes on striped pool (which causes issues) > > The solution: don't execute user code on striped pool > > > > I believe this solves the problem and removes any and all restrictions > > for async listeners/continuations. Am I missing something else? > > > > On Wed, Mar 17, 2021 at 10:16 AM Denis Garus <garus....@gmail.com> > wrote: > > > > > Hello! > > > > > > As I understood, we don't try to solve the problem mentioned in the > IEP: > > > there is unexpected behavior, > > > users should carefully read the docs to know about this, and so on. > > > A thread that executes an incorrect listener hung in any case, > > > and the suggested solution is to change the pool which owns this > thread. > > > Did you consider an option to execute user-defined listeners with a > > > timeout? > > > I think that implicit using java pools to run a code that can be hung > is > > a > > > questionable solution. > > > > > > вт, 16 мар. 2021 г. в 23:30, Alexey Kukushkin < > kukushkinale...@gmail.com > > >: > > > > > > > Pavel, > > > > > > > > So what you are saying is submitting a continuation to .NET Thread > Pool > > > > already respects current SynchronizationContext and ConfigureAwait. > In > > > > this case the IEP looks complete (for some reason I thought that we > > > should > > > > take care about the SynchronizationContext inside the Ignite.NET > > > > implementation). > > > > > > > > -- > > > > Best regards, > > > > Alexey > > > > > > > > > > > > -- > Best regards, > Alexey >