You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Fugitt, Jesse" <jf...@informatica.com> on 2014/07/15 16:25:24 UTC

Proton-624 JIRA

I opened a Proton JIRA a couple weeks ago about corrupted payloads from ActiveMQ for redelivered messages but wasn't sure whether this was something that should be the responsibility of the Proton JMS jar or something that needs fixed in ActiveMQ and was hoping to get some input.

The link to the JIRA is here:
https://issues.apache.org/jira/browse/PROTON-624

Basically when you configure ActiveMQ to use transport.transformer=jms and you have a BytesMessage that gets redelivered, its payload is corrupted (or rather ends up being all 0's) because it doesn't get reset when going out through that outbound transformer.   This problem does not exist with the default outbound transformer (AMQPNativeOutboundTransformer) because it does a reset as part of the outbound transform process.  It looked like the simple fix would be to patch Proton's JMSMappingOutboundTransformer class but I wanted to confirm with the ActiveMQ devs whether or not this is something that should be handled in ActiveMQ when redelivering rather than relying on the Proton layer's outbound transformers to do the BytesMessage reset.

Thanks,
Jesse


Re: Proton-624 JIRA

Posted by Timothy Bish <ta...@gmail.com>.
On 07/15/2014 10:25 AM, Fugitt, Jesse wrote:
> I opened a Proton JIRA a couple weeks ago about corrupted payloads from ActiveMQ for redelivered messages but wasn't sure whether this was something that should be the responsibility of the Proton JMS jar or something that needs fixed in ActiveMQ and was hoping to get some input.
>
> The link to the JIRA is here:
> https://issues.apache.org/jira/browse/PROTON-624
>
> Basically when you configure ActiveMQ to use transport.transformer=jms and you have a BytesMessage that gets redelivered, its payload is corrupted (or rather ends up being all 0's) because it doesn't get reset when going out through that outbound transformer.   This problem does not exist with the default outbound transformer (AMQPNativeOutboundTransformer) because it does a reset as part of the outbound transform process.  It looked like the simple fix would be to patch Proton's JMSMappingOutboundTransformer class but I wanted to confirm with the ActiveMQ devs whether or not this is something that should be handled in ActiveMQ when redelivering rather than relying on the Proton layer's outbound transformers to do the BytesMessage reset.
>
> Thanks,
> Jesse
>
>
Its something that would ultimately need to be fixed on the Proton 
project end.  We probably could add some logic to call reset ourselves 
but hopefully it can get fixed in Proton prior to another ActiveMQ 
release.  You could open a Jira at ActiveMQ and link in the Proton issue 
so it stays on the radar for the next release.  A unit test is advisable 
also so we can ensure it stays fixed.

-- 
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/