[ 
https://issues.apache.org/jira/browse/IGNITE-11685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878495#comment-16878495
 ] 

Ivan Pavlukhin commented on IGNITE-11685:
-----------------------------------------

[~alex_pl], I left my comments on 
[GitHub|https://github.com/apache/ignite/pull/6595#pullrequestreview-257886774].
 Repeating a part of it here:

Generally, I suppose that a concurrent request/response processing discipline 
should be described in comments. Especially it is relevant to 
TcpClientChannel.receive method because it employs tryLock and timeout waiting 
on a future.
Moreover, it would be great to be sure that there is no performance drop for a 
single-threaded usage by running benchmarks. Concurrent data structures and 
more locks are involved now, so a negative impact is possible.

> Java thin client: Handle multiple async requests in parallel
> ------------------------------------------------------------
>
>                 Key: IGNITE-11685
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11685
>             Project: Ignite
>          Issue Type: Improvement
>          Components: thin client
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: iep-34
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> In the current implementation {{ReliableChannel}} uses an exclusive lock to 
> send a request and waits for response synchronously. In this implementation, 
> there are no benefits of using multiple threads. To improve throughput and 
> latency we can implement async request/response processing on the client 
> side, since the server side is already async.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to