Igniters, I'm working on IEP-51 [1] to make Java thin client truly async and make sure user threads are never blocked (right now socket writes are performed from user threads).
I've investigated potential approaches and came to the conclusion that Netty [2] is our best bet. - Nice Future-based async API => will greatly reduce our code complexity and remove manual thread management - Potentially reduced resource usage - share EventLoopGroop across all connections within one IgniteClient - SSL is easy to use - Proven performance and reliability Other approaches, like AsynchronousSocketChannel or selectors, seem to be too complicated, especially when SSL comes into play. We should focus on Ignite-specific work instead of spending time on reinventing async IO. The obvious downside is an extra dependency in the core module. However, I heard some discussions about using Netty for GridNioServer in future. Let me know your thoughts. Pavel [1] https://cwiki.apache.org/confluence/display/IGNITE/IEP-51%3A+Java+Thin+Client+Async+API [2] https://netty.io