[ 
https://issues.apache.org/jira/browse/ARTEMIS-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

clebert suconic updated ARTEMIS-1353:
-------------------------------------
    Description: 
{{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.

  was:
{{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.

eplicatedFailoverTest#testTimeoutOnFailover would fail in a loop because of 
this.


> 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