JJ created AMQ-9855:
-----------------------
Summary: Intermittent null/empty body when consuming from a topic
(vm:// transport)
Key: AMQ-9855
URL: https://issues.apache.org/jira/browse/AMQ-9855
Project: ActiveMQ
Issue Type: Bug
Components: AMQP, Camel
Affects Versions: 6.1.7, 6.1.6, 6.1.2, 6.2.0
Reporter: JJ
Also see AMQ-6708 This is very much the same issue but with more details. The
op on that ticket hasn't been seen since 2017.
We have a simple AMQ instance using Camel; It connects to an upstream remote
server via OpenWire and subscribes to topics. It Bridges those topics to the
local AMQ with some later Camel processing.
The route looks like this:
<route id="Route_SPLITTER">
<from uri="remoteServer:topic:TOPIC_A?durableSubscriptionName=some.user"/>
<choice>
<when>
<simple>${body} == null || ${body} == ''</simple>
<log message="Received message with missing body:
${header.CamelMessageHistory}"/>
</when>
<otherwise>
</otherwise>
</choice>
<to uri="localAMQ:topic:MY_TOPIC_A"/>
<split streaming="true" >
<method ref="Splitter" method="processMessage"/>
<multicast>
<to uri="direct:routeSorter"/>
</multicast>
</split>
</route>
Logging was added to make sure it wasn't an upstream issue (and it's not)
The data being passed is formatted as arrays of JSON. The <to
uri="localAMQ:topic:MY_TOPIC_A"/> just passes it untouched. The Splitter send a
copy elsewhere to be filtered by an order number prefix.
The internal Camel to AMQ connection is via the vm:// transport using
org.apache.camel.component.activemq.ActiveMQComponent (but I have also tried a
pooled JMS connection factory with the same results)
When I connect a test non durable consumer from a Ruby script using STOMP, or
NIO I see the same issue. Some messages appear to have a 0 sized body.
I can connect an c++ open wire consumer from the same server and that instance
gets all messages with no 0 size bodies.
I have tried various versions of Camel and all exhibit the same results. It;'s
also worth noting that the data sent to the splitter function reports no errors
either.
I have also tried some of the older STOPM GEM packages but no change. (Though I
have found some odd connection issue when you upgrade to io-wait-0.4.0 from
0.3.1
After much swapping things round and testing I've finally narrowed it down to
some issue with the vm:// transport...
I have swapped the internal Camel connection from using vm:// to tcp:// and for
the last 24hrs have seen no client errors with 0 sized bodies.
I don't have any way to debug this deeper but hopefully someone else will pick
this up.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact