Hello, would it be useful if I provided a test-case to help explain the situation?
On Sat, Nov 17, 2018, at 11:27 AM, Bob Newcomer wrote: > Hello, > > I have a distributed app that has an ignite client instance connected > to a grid. Every app registers for the same topic and uses it to > broadcast information to its peers and itself to perform async work in > the ignite thread pool. The handler for this topic may take several > minutes to perform its job, but I thought this would be OK because the > docs for sendOrdered say:> > Note that local listeners are always executed in public thread pool, > no matter default or withAsync()[1] mode is used. [1]> > [1] - > > https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/IgniteMessaging.html#sendOrdered-java.lang.Object-java.lang.Object-long-> > > However, in my testing when I send to the whole cluster, the message > sent to the local listener (the message topic handler registered in > the same ignite client instance as the one sending) gets handled in > the same thread as sendOrdered() and blocks the sendOrdered() until it > has been completed.> > I had a look through the code and could not see an obvious way to make > the local handler happen on an ignite thread pool instead of blocking > the sender. How can I make the local handler get called in an ignite > thread pool?> > Appreciate any assistance. Links: 1. https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/IgniteMessaging.html#withAsync--