[
https://issues.apache.org/jira/browse/IGNITE-17938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17643773#comment-17643773
]
Vladislav Pyatkov commented on IGNITE-17938:
--------------------------------------------
LGTM
This patch is solved the issue, but we are still waiting longer in some
operation when enlist partition concurrently in one transaction.
> Implement thread-safe enlisting of a primary node into a transaction
> --------------------------------------------------------------------
>
> Key: IGNITE-17938
> URL: https://issues.apache.org/jira/browse/IGNITE-17938
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladislav Pyatkov
> Assignee: Alexander Lapin
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Before to send a replica request, we try to determine a primary node. If the
> replication group is not used before, primary replica is choosing as a
> current leader for the replication group and will be enlisted only when the
> request is sent and handled.
> If several replica requests are handled simultaneously, in the same
> circumstances (primary is not enlisted for the replication group), a
> coordinator node can try to enlist several different primaries for the group.
> Before, we do nothing to resolve this situation, so last primary replaces
> previous one.
> But the right solution do not allow situation where we have several primaries
> for the group in one transaction. Required to check that the primary node is
> the same for all requests and throw an exception if this is not right.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)