[ https://issues.apache.org/jira/browse/ARTEMIS-1220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057404#comment-16057404 ]
ASF GitHub Bot commented on ARTEMIS-1220: ----------------------------------------- Github user jdanekrh commented on the issue: https://github.com/apache/activemq-artemis/pull/1351 This commit fixes integration-test ReplicationWithDivertTest#testSendLargeMessage for me. Previously, the test used to fail with `java.lang.NullPointerException` on `message.getBytes("test" + i).length` at org.apache.activemq.artemis.tests.integration.divert.ReplicationWithDivertTest.testSendLargeMessage(ReplicationWithDivertTest.java:237). > 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)