You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (JIRA)" <ji...@apache.org> on 2019/03/19 08:23:00 UTC

[jira] [Commented] (IGNITE-11555) Unable to await partitions release latch caused by coordinator failover

    [ https://issues.apache.org/jira/browse/IGNITE-11555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16795817#comment-16795817 ] 

Ignite TC Bot commented on IGNITE-11555:
----------------------------------------

{panel:title=--&gt; Run :: All: No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=3344459&amp;buildTypeId=IgniteTests24Java8_RunAll]

> Unable to await partitions release latch caused by coordinator failover
> -----------------------------------------------------------------------
>
>                 Key: IGNITE-11555
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11555
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>            Priority: Critical
>             Fix For: 2.8
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently exchanges latches (both server and client) are deleted when the latch is completed. This leads to a hang in the following scenario:
> 1) A grid with several nodes starts exchange latch sync
> 2) All nodes send acks to coordinator
> 3) Coordinator processes acks and sends final acks to some of the nodes
> 4) These nodes process acks, complete and delete client latches
> 5) Coordinator fails
> 6) Nodes which did not receive final acks re-send the ack to a new coordinator
> 7) Since the new coordinator already completed and deleted the client latch, it does not process re-sent ack correctly and only adds it to the pending messages.
> Looks like the root cause of this issue is latch deletion on final ack. We can safely delete the latch only when all nodes are guaranteed to process the messages. Luckily, since the latch is tied to the exchange process, we can safely delete the latch when the corresponding exchange completes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)