I'm using the C# client on Ignite 2.8.0.
I have had an issue with thread deadlocking where the public thread pool is
saturated and then causes a deadlock when a message arrives from another
node using IMessageListener, eg
public class MyListener : IMessageListener<T>
{
public bool Invoke(Guid nodeId, T message)
{
// Process it
return true;
}
}
Ignite 2.8.0 now supports custom thread pools in the C# client :)
I can see how to create a custom thread pool in the Ignite configuration,
like this:
ExecutorConfiguration = new List<ExecutorConfiguration>
{
new ExecutorConfiguration
{
Name = "MyPool"
Size = 8
}
}
And use it like this:
ignite.Compute().WithExecutor("MyPool").Run() etc
However, I am not sure how to ask Ignite to run the Invoke() from the
MessageListener on that custom thread pool, rather than the public thread
pool.
Suggestions?
Thanks,
Raymond.