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

Reply via email to