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

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

GitHub user clebertsuconic opened a pull request:

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

    ARTEMIS-1353 Initial replication of large messages out of executor

    This is based on the work @jbertram made at the github pr #1466 and the 
discussions we had there

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

    $ git pull https://github.com/clebertsuconic/activemq-artemis ARTEMIS-1353

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

    https://github.com/apache/activemq-artemis/pull/1472.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 #1472
    
----
commit ce6942a9aa9375efaa449424fe89de2db3f22e36
Author: Clebert Suconic <[email protected]>
Date:   2017-08-18T19:01:33Z

    ARTEMIS-1353 Initial replication of large messages out of executor
    
    This is based on the work @jbertram made at the github pr #1466 and the 
discussions we had there

----


> Replication packets can get out of order
> ----------------------------------------
>
>                 Key: ARTEMIS-1353
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1353
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>             Fix For: 2.3.0
>
>
> {{ReplicationEndpoint}} my throw a {{NullPointerException}} during initial 
> synchronization.
> The issue is caused by incorrect ordering of replication packets. The NPE 
> arises when {{ReplicationSyncFileMessage}} packets are sent before 
> {{ReplicationStartSyncMessage}} packets.
> Incorrect ordering of replication packets may happen because of 
> {{useExecutor}} parameter in the {{sendReplicatePacket}} method. 
> {{ReplicationStartSyncMessage}} packets are sent as first, but they are sent 
> with {{useExecutor=true}}. Although {{ReplicationSyncFileMessage}} packets 
> are sent after {{ReplicationStartSyncMessage}} packets, they are sent with 
> {{useExecutor=false}}. So sending of {{ReplicationStartSyncMessage}} packets 
> is scheduled to executor and there is no guarantee when the task will be 
> executed, whereas {{ReplicationStartSyncMessage}} packets are sent 
> immediately.
> ReplicatedFailoverTest#testTimeoutOnFailover would fail in a loop because of 
> this.



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

Reply via email to