[
https://issues.apache.org/jira/browse/IGNITE-23076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17899078#comment-17899078
]
Igor Sapego commented on IGNITE-23076:
--------------------------------------
Looks good to me.
> Start single timeout worker thread for all clients in one JVM
> -------------------------------------------------------------
>
> Key: IGNITE-23076
> URL: https://issues.apache.org/jira/browse/IGNITE-23076
> Project: Ignite
> Issue Type: Improvement
> Components: thin client
> Reporter: Vladislav Pyatkov
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> h3. Motivation
> Currently, each client starts own timeout worker:
> {code:java}
> this.timeoutWorker = new TimeoutWorker(
> log,
> cfg.getAddress().getHostString() + cfg.getAddress().getPort(),
> "TcpClientChannel-timeout-worker",
> pendingReqs,
> // Client-facing future will fail with a timeout, but internal
> ClientRequestFuture will stay in the map -
> // otherwise we'll fail with "protocol breakdown" error when a late
> response arrives from the server.
> false
> );
> new IgniteThread(timeoutWorker).start();
> {code}
> but in the case where we start several clients on one JVM, the only timeout
> worker would be enough.
> h3. Definition of done
> All clients that were started in one JVM share the timeout worker.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)