I'm not aware of any incompatibility between a 5.12.2 client and a 5.15.2
broker, but we don't explicitly test compatibility so it's possible. But I
can't think of an obvious mechanism for an older client to cause a store
writer thread in the broker to exit, so a compatibility problem isn't where
I'd start looking.

The thread that's shut down writes content to disk in KahaDB. Presumably
this is a persistent message and you're using KahaDB as your persistence
store implementation. Are there any errors in the broker's logs prior to
the one you quoted, which might indicate problems with KahaDB or the writer
thread? Can you put messages on the queue via the web console? And if you
disconnect all clients and then restart the broker, can you put messages on
the queue via the web console? Let's make sure your KahaDB confirmation is
healthy with no clients at all, before introducing the extra variable of an
external producer (let alone one on an earlier version of ActiveMQ).

Tim

On Jan 5, 2018 9:03 AM, "neon18" <neo...@nngo.net> wrote:

> We recently upgraded to ActiveMQ server 5.15.2 from 5.12.2 and when putting
> some messages onto a Queue, we get the following error
>
> ERROR | Caught an Exception adding a message: ActiveMQObjectMessage
> {commandId = 2705, ...} first to FilePendingMessageCursor |
> org.apache.acivemq.broker.region.cursors.FIlePendingMEssageCursor |
> ActiveMQ
> Transport: tcp://....
> java.io.IOException: Async Writer Thread Shutdown
>   at
> org.apache.activemq.store.kahadb.disk.journal.DataFileAppender.enqueue(
> DataFileAppender.java:164)[activemq-kahadb-store-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.store.kahadb.disk.journal.DataFileAppender.storeItem(
> DataFileAppender.java:129)[activemq-kahadb-store-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.store.kahadb.disk.journal.Journal.
> write(Journal.java:958)[activemq-kahadb-store-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.store.kahadb.plist.PListStoreImpl.
> write(PListStoreImpl.java:444)[activemq-kahadb-store-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.store.kahadb.plist.PListImpl.write(
> PListImpl.java:105)[activemq-kahadb-store-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.
> tryAddMessageLast(FilePendingMessageCursor.java:
> 237)[activemq-broker-5.15.2.jar:5.15.2]
>   at
> org.apache.activemq.broker.region.cursors.StoreQueueCursor.
> tryAddMessageLast(StoreQueueCursor.java:100)[activemq-broker-5.15.2.jar:5.
> 15.2]
>   at
> org.apache.activemq.broker.region.Queue.tryCursorAdd(
> Queue.java:1868)[activemq-broker-5.15.2.jar:5.15.2]
> ...
>
> When we were using ActiveMQ 5.12.2 server we did not have this issue.
>
> Any ideas on why this is happening (there are lots of the above errors in
> the activemq.log) and how to resolve it?
>
> Eventually, the 5.15.2 server logs a WARN | Transport Connection to
> tcp://... failed java.io.Exception: Unexpected error occurred:
> java.lang.OutOfMemoryError: Java heap space |
> org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ
> Transport: tcp:///...
>
> The client that submits to the queue is still using the
> activemq-client-5.12.2.jar (do we need to also upgrade the client to use
> the
> matching version as the server?
>
> Regards,
>
> Neon
>
>
>
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-
> f2341805.html
>

Reply via email to