[
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)