[
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 <[email protected]>
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)