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

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

GitHub user gaohoward opened a pull request:

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

    ARTEMIS-1220 Diverted LargeMessage file corrupted during replication

    When a large message is being diverted, a new copy of the original
    message is created and replicated (if there is a backup) to the backup.
    
    In LargeServerMessageImpl.copy(long) it reuse a byte array to copy
    message body. It is possible that one block of date is read into
    the byte array before the previous read has been replicated,
    causing the replicated bytes to corrupt.
    
    If we make a copy of the byte array before replication, the corruption
    of data will be avoided.

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

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

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

    https://github.com/apache/activemq-artemis/pull/1351.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 #1351
    
----
commit d4c75a8a7b0b92328fff9d56951d187f6fdfcc3d
Author: Howard Gao <[email protected]>
Date:   2017-06-20T10:38:26Z

    ARTEMIS-1220 Diverted LargeMessage file corrupted during replication
    
    When a large message is being diverted, a new copy of the original
    message is created and replicated (if there is a backup) to the backup.
    
    In LargeServerMessageImpl.copy(long) it reuse a byte array to copy
    message body. It is possible that one block of date is read into
    the byte array before the previous read has been replicated,
    causing the replicated bytes to corrupt.
    
    If we make a copy of the byte array before replication, the corruption
    of data will be avoided.

----


> Diverted LargeMessage file corrupted during replication
> -------------------------------------------------------
>
>                 Key: ARTEMIS-1220
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1220
>             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 being diverted, a new copy of the original message is 
> created and replicated (if there is a backup) to the backup. 
> In LargeServerMessageImpl.copy(long) it reuse a byte array to copy message 
> body. It is possible that one block of date is read into the byte array 
> before the previous read has been replicated, causing the replicated bytes to 
> corrupt.
> If we make a copy of the byte array before replication, the corruption of 
> data will be avoided.



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

Reply via email to