[
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)