You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2022/12/06 10:12:00 UTC

[jira] [Commented] (IGNITE-17938) Implement thread-safe enlisting of a primary node into a transaction

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