activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (AMQ-6256) ConcurentStoreAndDispatch can lead to inconsistent message states using VM Transport
Date Mon, 18 Apr 2016 12:31:25 GMT

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

Gary Tully edited comment on AMQ-6256 at 4/18/16 12:30 PM:
-----------------------------------------------------------

darn, yea, that is the only option. Your original fix is perfect then, just doing the work
in the stores that actually do async bits.
For the memory store and pure invm dispatch, bypassing serialisation altogether is valid.
Win for the test suite.


was (Author: gtully):
darn, yea, that is the only option. Your original fix is perfect then, just doing the work
in the stores that actually do async bits.
For the memory store and pure invm dispatch bypassing serialisation altogether is valid. Win
for the test suite.

> ConcurentStoreAndDispatch can lead to inconsistent message states using VM Transport
> ------------------------------------------------------------------------------------
>
>                 Key: AMQ-6256
>                 URL: https://issues.apache.org/jira/browse/AMQ-6256
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.13.2
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>             Fix For: 5.14.0, 5.13.3
>
>
> When messages are added to a store asynchronously (when using concurrent store and dispatch)
and then dispatched to a consumer at the same time, there is a race condition that can occur
primarily with the VM Transport.  The issue is that it's possible that when the VM Transport
is copying the message for dispatch, the async task can run at the same time to store the
message.  It's possible that the copy on dispatch can occur during the same time the async
store task is trying to marshall the data and properties which can lead to an inconsistent
state of the message (ie null content).  This is the cause of the issue in AMQ-6218.
> The proper fix for this is to make sure the beforeMarshall method is called prior to
the task running and prior to dispatch.



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

Mime
View raw message