You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

IDIEP-51
Author
Sponsor
Created

  

Status

DRAFT


Motivation

Do not block user threads when performing async thin client operations.

IEP-51 introduced async API to the Java thin client, but socket writes are still performed on the user thread and are potentially blocking.

Description

Potential approaches to this are:

  1. Perform writes in a separate thread (use dedicated thread or ForkJoinPool.commonPool)
    • Pros: no dependencies
    • Cons: more manual thread management - hard to get right and fast
  2. AsynchronousSocketChannel
  3. Netty
    • Pros:
      • Greatly reduces complexity - returns ChannelFuture, which can be easily converted to IgniteClientFuture. Manual thread management goes away.
      • Proven performance
    • Cons:
      • New dependency in core module

Discussion Links

Dev List: http://apache-ignite-developers.2346864.n4.nabble.com/IEP-51-Java-Thin-Client-Async-API-td48900.html

Tickets


Unable to render Jira issues macro, execution error.

  • No labels