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

ASF GitHub Bot commented on ARTEMIS-1221:
-----------------------------------------

GitHub user gaohoward opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1347

    ARTEMIS-1221 Duplicated ID causes LargeMessage lost at backup

    When a large message is replicated to backup, a pendingID is generated
    when the large message is finished. This pendingID is generated by a
    BatchingIDGenerator at backup.
    
    It is possible that a pendingID generated at backup may be a duplicate
    to an ID generated at live server.
    
    This can cause a problem when a large message with a messageID that is
    the same as another largemessage's pendingID is replicated and stored
    in the backup's journal, and then a deleteRecord for the pendingID
    is appended. If backup becomes live and loads the journal, it will
    drop the large message add record because there is a deleteRecord of
    the same ID (even though it is a pendingID of another message).
    As a result the expecting client will never get this large message.

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

    $ git pull https://github.com/gaohoward/activemq-artemis master_1221

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

    https://github.com/apache/activemq-artemis/pull/1347.patch

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

    This closes #1347
    
----
commit 1111dde2d690c78d42973a653966dbdf32718eb1
Author: Howard Gao <howard....@gmail.com>
Date:   2017-06-19T08:31:07Z

    ARTEMIS-1221 Duplicated ID causes LargeMessage lost at backup
    
    When a large message is replicated to backup, a pendingID is generated
    when the large message is finished. This pendingID is generated by a
    BatchingIDGenerator at backup.
    
    It is possible that a pendingID generated at backup may be a duplicate
    to an ID generated at live server.
    
    This can cause a problem when a large message with a messageID that is
    the same as another largemessage's pendingID is replicated and stored
    in the backup's journal, and then a deleteRecord for the pendingID
    is appended. If backup becomes live and loads the journal, it will
    drop the large message add record because there is a deleteRecord of
    the same ID (even though it is a pendingID of another message).
    As a result the expecting client will never get this large message.

----


> Duplicated ID causes LargeMessage lost at backup
> ------------------------------------------------
>
>                 Key: ARTEMIS-1221
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1221
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.5.5, 2.1.0
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>             Fix For: 1.5.6, 2.2.0
>
>
> When a large message is replicated to backup, a pendingID is generated when 
> the large message is finished. This pendingID is generated by a 
> BatchingIDGenerator at backup.
> It is possible that a pendingID generated at backup may be a duplicate to an 
> ID generated at live server. 
> This can cause a problem when a large message with a messageID that is the 
> same as another largemessage's pendingID is replicated and stored in the 
> backup's journal, and then a deleteRecord for the pendingID is appended.
> If backup becomes live and loads the journal, it will drop the large message 
> add record because there is a deleteRecord of the same ID (even though it is 
> a pendingID of another message). As a result the expecting client will never 
> get this large message.
>  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to