[
https://issues.apache.org/jira/browse/IGNITE-29004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-29004:
------------------------------------
Labels: ise (was: )
> Refactor ClientImpl to use single instance of TcpDiscoveryIoSession per
> connection
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-29004
> URL: https://issues.apache.org/jira/browse/IGNITE-29004
> Project: Ignite
> Issue Type: Task
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Major
> Labels: ise
>
> Currently, ClientImpl creates two separate sessions for a single connection
> to a server node:
> - org.apache.ignite.spi.discovery.tcp.ClientImpl.SocketWriter#setSocket
> - org.apache.ignite.spi.discovery.tcp.ClientImpl.SocketReader#setSocket
> We need to refactor this approach so that each session corresponds to exactly
> one connection to a remote node. This will allow us to encapsulate all
> P2P-related data associated with the connection within the session instance.
> This will allow us to eliminate the confusing SocketStream abstraction and
> rely solely on the session instance.
> NOTE:
> Currently, TcpDiscoveryIoSession is designed to be used in one direction
> only: either for reading from or writing to a socket. This is why two
> separate sessions are required on the client node side.
> We need to revise this approach and make a session responsible for
> communication in both directions. This will require introducing separate
> buffers for reading from and writing to the socket.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)