ASF GitHub Bot commented on IGNITE-8922:

GitHub user dmekhanikov opened a pull request:


    IGNITE-8922 Fix delivery of pending messages


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-8922

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4349
commit d08c808c4766cfc7538a8fdffe4bcf9b014bfe30
Author: Denis Mekhanikov <dmekhanikov@...>
Date:   2018-07-04T08:44:02Z

    IGNITE-8922 add tests for pending messages delivery

commit fcd100f9da4d6ff3f86971d9988c0cb5ea963603
Author: Denis Mekhanikov <dmekhanikov@...>
Date:   2018-07-06T12:46:53Z

    IGNITE-8922 check all ensured messages in test

commit aea7d9b2e10aaf641daa5e1a74d3d289239e063f
Author: Denis Mekhanikov <dmekhanikov@...>
Date:   2018-07-11T08:56:07Z

    IGNITE-8922 add custom messages to pending list in singleton cluster

commit 3325960fa98d12deac5c1d2a275fefd37c80b871
Author: Denis Mekhanikov <dmekhanikov@...>
Date:   2018-07-11T10:04:40Z

    IGNITE-8922 don't drop undiscarded messages from PendingMessages

commit b90687577d7f1b030c2609c6b0bb002b285616f0
Author: Denis Mekhanikov <dmekhanikov@...>
Date:   2018-07-11T10:45:20Z

    IGNITE-8922 add assertion messages to tests


> Discovery message delivery guarantee can be violated
> ----------------------------------------------------
>                 Key: IGNITE-8922
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8922
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Denis Mekhanikov
>            Assignee: Denis Mekhanikov
>            Priority: Critical
>         Attachments: PendingMessageResendTest.java
> Under certain circumstances discovery messages may be delivered only to a 
> part of nodes.
> It happens because pending messages are not resent due to data inconsistency 
> in {{ServerImpl#PendingMessages}} class. If {{discardId}} or 
> {{customDiscardId}} point to a message, that is not present in the queue, 
> then other messages will be skipped and won't be resent. It may happen, for 
> example, when queue in {{PendingMessages}} is overflown.
> PFA test, that reproduces this problem.

This message was sent by Atlassian JIRA

Reply via email to