[
https://issues.apache.org/jira/browse/IGNITE-19594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-19594:
------------------------------------
Description:
*ClientTable.getPreferredNodeId* returns
*ch.protocolContext().clusterNode().id()* when channel is provided - which is
provided when there is an explicit tx. Those operations must use the same exact
connection, because transaction id in maintained by the server per connection.
However, returning node id means we can retry on a different connection to the
same node. This can lead to using a wrong transaction.
> Thin 3.0: Incorrect retry logic for transactional operations in ClientTable
> ---------------------------------------------------------------------------
>
> Key: IGNITE-19594
> URL: https://issues.apache.org/jira/browse/IGNITE-19594
> Project: Ignite
> Issue Type: Bug
> Components: thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> *ClientTable.getPreferredNodeId* returns
> *ch.protocolContext().clusterNode().id()* when channel is provided - which is
> provided when there is an explicit tx. Those operations must use the same
> exact connection, because transaction id in maintained by the server per
> connection.
> However, returning node id means we can retry on a different connection to
> the same node. This can lead to using a wrong transaction.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)