[
https://issues.apache.org/jira/browse/ARTEMIS-1220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16063574#comment-16063574
]
ASF GitHub Bot commented on ARTEMIS-1220:
-----------------------------------------
Github user clebertsuconic commented on the issue:
https://github.com/apache/activemq-artemis/pull/1351
I'm adding the following comment here:
```java
// ARTEMIS-1220: We cannot reuse the same buffer if it's
replicated
// otherwise there could be another thread still using the
buffer on a
// replication.
```
I am ammending your commit instead of making a separate one. .for the sake
of simplicity.
> 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)