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

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

GitHub user mtaylor opened a pull request:

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

    ARTEMIS-465 Create LM on write packet in ReplicationEndpoint

    If a LM write packet is received from the live assume that the large
    message exists and create a local reference.
    
    Old behavour would reject the packet which could lead to loss of data on
    failover see JIRA.

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

    $ git pull https://github.com/mtaylor/activemq-artemis ARTEMIS-465

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

    https://github.com/apache/activemq-artemis/pull/437.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 #437
    
----
commit 0aa3f99ccec2fb28c22960b2db19a41ef359f0f5
Author: Martyn Taylor <[email protected]>
Date:   2016-04-01T22:13:04Z

    ARTEMIS-465 Create LM on write packet in ReplicationEndpoint
    
    If a LM write packet is received from the live assume that the large
    message exists and create a local reference.
    
    Old behavour would reject the packet which could lead to loss of data on
    failover see JIRA.

----


> Large messages missed over replication
> --------------------------------------
>
>                 Key: ARTEMIS-465
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-465
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Martyn Taylor
>
> The ReplicationEndpoint (in the backup) elies on the large message files sent 
> over the cluster connection, to get an initial picture of the large messages 
> on the live server.  Subsequent large messages packets are forwarded to the 
> ReplicationEndpoint.  A large message being packet is sent when the journal 
> first saves the large message pending packet, after this point the server 
> forwards the large message continuation packets.
> The actual large message files are created lazily on the live server.  Only 
> when a large message continuation packet is received is the large message 
> file created.  This leaves a window where, before replication is started, a 
> large message entry can be present in the journal (the large message begin 
> has been received and store, but not forwarded to the backup, as it's not 
> started) and no file is created on the live.
> If replication starts at this point, the backup builds up it's picture of the 
> large messages based on the large message files, but is missing large 
> messages from it's view (as they're in the journal on the live, but not 
> stored in files).  Subsequent large message continuation packets are then 
> rejected by the backup as it does not recognise the large message.   



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to