You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by nrichards <jr...@arrisi.com> on 2011/09/01 23:35:21 UTC

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Thanks, I'll add that to the configuration.

Perhaps this should be different thread, but I'm also using a filecursor to
handle message buffering of non-persistent queue messages and have a large
number of occurrences of IO Exceptions get the DiskList, with further
messages indicating some kind of file access issue.  This is on Solaris.

A most recent example is an NPE at java.io.UnxiFileSystem.resolve --
apparently as part of a File.mkdirs invocation  in the activemq
IOHelper.mkdirs (line 249).

Is this likely to be a consequence of how memory limits are set both overall
and per-destination?

--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3784833.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
will try the full path. I do see the data directory created in the current
working directory of the process and with suitable permissions.

--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3786528.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
As did these:

2011-09-07 12:43:40,908 ERROR [cursors.FilePendingMessageCursor]
[1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
 Caught an IO Exception getting the DiskList
7_PendingCursor:snTableQueue_CHF
java.lang.NullPointerExceptionnull
    at
org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null
    at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null
    at org.apache.activemq.store.kahadb.plist.PListStore.getPLis
t(PListStore.java:225)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
    at
org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null  
    at
org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null 
    at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
    at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
    at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
    at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:301)null
    at o
rg.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
    at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
    at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null

    at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null   
    at
org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
    at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null   
    at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
    at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
    at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:68
1)null
    at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null
    at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
    at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
    at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null

    at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null
    at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null 
    at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
    at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null      
    at java.lang.Thread.run(Thread.java:619)null
2011-09-07 12:43:41,001 DEBUG [transport.AbstractInactivityMonitor] [] :
[InactivityMonitor ReadCheck] 30009 ms elapsed since last read check.
2011-09-07 12:43:41,028 ERROR [cursors.FilePendingMessageCursor]
[1315421994681] : [ActiveMQ Transport: tcp:///134.242.171.26:35469]
 Caught an Exception adding a message: ActiveMQObjectMessage {commandId =
82, responseRequired = false, messageId = ID:lgvn-330
53-1315415867932-0:19:1:1:78, originalDestination = null,
originalTransactionId = null, producerId = ID:lgvn-33053-131541586793
2-0:19:1:1, destination = queue://snTableQueue_CHF, transactionId = null,
expiration = 0, timestamp = 1315424620840,
 arrival = 0, brokerInTime = 1315424620881, brokerOutTime = 0, correlationId
= null, replyTo = null, persistent = false, type = null
, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null,
compressed = false, userID = null, content =
org.apache.activemq.util.ByteSequence@d42d49, marshalledProperties =
org.apache.activemq.util.ByteSequence@1e91c40, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=37,
HOST=134.242.171.26, trigger_name=com.foo.receiver.beans.ACTData,
version=3.4}, readOnlyProperties = false, readOnlyBody = false, droppable =
false} first to FilePendingMessageCursor
java.lang.RuntimeException: java.lang.NullPointerExceptionnull
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.tryAddMessageLast(FilePendingMessageCursor.java:226)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.addMessageLast(FilePendingMessageCursor.java:196)null
    at
org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:1603)null  
    at
org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:715)null
    at org.apache.activemq.broker.region.Queue.send(Queue.java:647)null
    at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:409)null
    at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:543)null
    at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBrok
er.java:301)null
    at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null   
    at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
    at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:306)null
    at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null    
    at
org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
    at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
    at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null      
    at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:468)null
    at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
    at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:316)null

    at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)null
    at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null   
    at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
    at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)null      
    at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null     
    at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)null
    at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)null  
    at java.lang.Thread.run(Thread.java:619)nullCaused by:
java.lang.NullPointerExceptionnull     
    at
org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:229)null   
    at org.apache.kahadb.page.Transaction.execute(Transaction.java:760)null   
    at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:225)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null  

        ... 26 morenull


--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3797221.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
I can indeed do that.

Was in the middle of building 5.6 from source and wondering how to resolve
the activeio-3.2 dependency, but will use what you are pointing to ...


thnx.

--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3796851.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by Gary Tully <ga...@gmail.com>.
thanks for the quick validation. Heuston we have a problem!
Can you raise a new jira issue to track this, and attach your logs,
test case etc.
I think it is related to https://issues.apache.org/jira/browse/AMQ-3474

On 7 September 2011 21:35, nrichards <jr...@arrisi.com> wrote:
> This exception occurred after about 1 1/2 hours ...
>
> 2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage
> Async Task] Caught an IO Exception getting the
> DiskList7_PendingCursor:snTableQueue_CHF
> java.lang.NullPointerExceptionnull
>    at java.io.Writer.write(Writer.java:140)null
>    at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
>    at java.util.Properties.writeComments(Properties.java:671)null
>    at java.util.Properties.store0(Properties.java:805)null
>    at java.util.Properties.store(Properties.java:796)null
>    at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
>    at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
>    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
>    at java.lang.Thread.run(Thread.java: 619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException:
> java.lang.NullPointerException
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)
>
>    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
>
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>
>    at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
>
>    at java.io.Writer.write(Writer.java:140)
>
>    at java.io.BufferedWriter.newLine(BufferedWriter.java:225)
>
>    at java.util.Properties.writeComments(Properties.java:671)
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3797192.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
This exception occurred after about 1 1/2 hours ...

2011-09-07 12:43:27,057 ERROR [cursors.FilePendingMessageCursor] [] : [Usage
Async Task] Caught an IO Exception getting the
DiskList7_PendingCursor:snTableQueue_CHF
java.lang.NullPointerExceptionnull
    at java.io.Writer.write(Writer.java:140)null
    at java.io.BufferedWriter.newLine(BufferedWriter.java:225)null
    at java.util.Properties.writeComments(Properties.java:671)null
    at java.util.Properties.store0(Properties.java:805)null
    at java.util.Properties.store(Properties.java:796)null
    at org.apache.kahadb.page.PageFile.storeMetaData(PageFile.java:570)null
    at org.apache.kahadb.page.PageFile.load(PageFile.java:361)null
    at
org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:285)null
    at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:218)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:457)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)null
    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
    at java.lang.Thread.run(Thread.java: 619)null
Exception in thread "Usage Async Task" java.lang.RuntimeException:
java.lang.NullPointerException

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:460)

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:435)

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:388)

    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)

    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException

    at java.io.Writer.write(Writer.java:140)

    at java.io.BufferedWriter.newLine(BufferedWriter.java:225)

    at java.util.Properties.writeComments(Properties.java:671)



--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3797192.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by Gary Tully <ga...@gmail.com>.
on the NPE, can you validate your use case with the current
5.6-SNAPSHOT[1], that will prove that your issue is related and
resolved.
The end of the month is the current target for a 5.6 release.

[1] https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.6-SNAPSHOT/

On 7 September 2011 17:04, nrichards <jr...@arrisi.com> wrote:
> Generally things are working, except for an intermittent NPE associated with
> accessing the PList in the FileCursor, such as the following. This
> apparently results in a lost message.
>
> I am currently working under the assumption this is related to the known
> issue https://issues.apache.org/jira/browse/AMQ-3434.
>
> Does this seem correct? Is there an estimate of when this fix might be
> available?
>
> 2011-09-03 09:17:40,166 ERROR [cursors.FilePendingMessageCursor] [] : Caught
> an IO Exception getting the DiskList 7_PendingCursor:S_TableQueue_CHF
> java.lang.NullPointerExceptionnull
>    at
> org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:212)null
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)null
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:208)null
> at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)null
>    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
> at java.util.concurrent.ThreadPoolExecutor$
> Worker.runTask(ThreadPoolExecutor.java:886)null
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
> at java.lang.Thread .run(Thread.java:619)null
> Exception in thread "Usage Async Task" java.lang.RuntimeException:
> java.lang.NullPointerException
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:445)
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)
>
>    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
>
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>
>    at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
>
>    at
> org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:212)
>
>    at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:208)
>
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)
>        ... 6 more
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3796511.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
Generally things are working, except for an intermittent NPE associated with
accessing the PList in the FileCursor, such as the following. This
apparently results in a lost message.

I am currently working under the assumption this is related to the known
issue https://issues.apache.org/jira/browse/AMQ-3434.

Does this seem correct? Is there an estimate of when this fix might be
available?

2011-09-03 09:17:40,166 ERROR [cursors.FilePendingMessageCursor] [] : Caught
an IO Exception getting the DiskList 7_PendingCursor:S_TableQueue_CHF
java.lang.NullPointerExceptionnull
    at
org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:212)null                                            
at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)null
    at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:208)null                                             
at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)null 
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)null        
    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null                                                                       
at java.util.concurrent.ThreadPoolExecutor$
Worker.runTask(ThreadPoolExecutor.java:886)null
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null                                             
at java.lang.Thread .run(Thread.java:619)null
Exception in thread "Usage Async Task" java.lang.RuntimeException:
java.lang.NullPointerException

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:445)

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)

    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)

    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException

    at
org.apache.activemq.store.kahadb.plist.PListStore$1.execute(PListStore.java:212)

    at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)

    at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:208)

    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)
        ... 6 more


--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3796511.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by Gary Tully <ga...@gmail.com>.
give a full path name in  dataDirectory="amq-data" to a directory that
you know to exist that is accessible by the userid that this context
runs under.
The temp store will be created on demand and it looks like the NPE is
occurring due to some file access problems, using an explicit
directory should help in this case.

On 2 September 2011 16:59, nrichards <jr...@arrisi.com> wrote:
> Thanks for your interest Gary, here's the broker config:
>
>    <bean id="amqStore"
> class="org.apache.activemq.store.amq.AMQPersistenceAdapter" >
>        <property name="directory"              value="amq-messages" />
>        <property name="maxFileLength"          value="1000000" />
>        <property name="checkpointInterval"     value="5000" />
>        <property name="cleanupInterval"        value="5000" />
>        </bean>
>
>
>
>    <amq:broker id="amq"  brokerName="amq"
>                deleteAllMessagesOnStartup="true"
>                persistent="true"
>                persistenceAdapter="#amqStore"
>                schedulerSupport="false"
>                dataDirectory="amq-data"
>                start="true"
>                useJmx="true" >
>
>
>        <amq:destinationPolicy>
>            <amq:policyMap>
>              <amq:policyEntries>
>                <amq:policyEntry topic=">"
>                                producerFlowControl="false"
>                                memoryLimit="100mb">
>
>                  <amq:pendingSubscriberPolicy>
>                    <amq:fileCursor />
>                  </amq:pendingSubscriberPolicy>
>                </amq:policyEntry>
>
>                <amq:policyEntry queue=">"
>                                producerFlowControl="false"
>                                lazyDispatch="true"
>                                memoryLimit="100mb">
>
>                  <amq:pendingQueuePolicy>
>                    <amq:fileQueueCursor/>
>                  </amq:pendingQueuePolicy>
>                </amq:policyEntry>
>              </amq:policyEntries>
>            </amq:policyMap>
>        </amq:destinationPolicy>
>
>
>
>        <amq:destinations>
>            <amq:queue physicalName="QueueAMQ" />
>            <amq:queue physicalName="QueueReplPackageTrigger" />
>            <amq:queue physicalName="QueueMAEPackageTrigger" />
>            <amq:queue physicalName="QueueInterfaceProfileUpdatedTrigger" />
>            <amq:queue physicalName="QueueAggregationCompletedTrigger" />
>            <amq:queue physicalName="QueueCmAttributesTrigger" />
>            <amq:queue physicalName="TableQueue_DEVICE_FACTS" />
>            <amq:queue physicalName="TableQueue_UPSTREAM_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_DOWNSTREAM_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_IRL_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_RVLD_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_RVLD_CPU_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_MACINT_CPU_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_RVLD_QOS_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_MACINT_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_DEVICE_FACTS_UP_D30" />
>            <amq:queue physicalName="TableQueue_DEVICE_FACTS_DOWN_D30" />
>            <amq:queue physicalName="TableQueue_BG_HOUR_FACTS" />
>            <amq:queue physicalName="TableQueue_DEVICE_FACTS_PROF_UP" />
>            <amq:queue physicalName="TableQueue_DEVICE_FACTS_PROF_DOWN" />
>            <amq:queue physicalName="TableQueue_DEVICE_ATTRIBUTES" />
>
>
>        </amq:destinations>
>
>        <amq:managementContext>
>            <amq:managementContext connectorPort="61099" />
>        </amq:managementContext>
>
>        <amq:plugins>
>            <amq:authorizationPlugin>
>                <amq:map>
>                    <amq:authorizationMap>
>
>                        <amq:authorizationEntries>
>                            <amq:authorizationEntry queue="QueueAMQ"
>                                read="users" write="users" admin="admin" />
>
>                            <amq:authorizationEntry
> queue="QueueReplPackageTrigger"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="QueueMAEPackageTrigger"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="QueueInterfaceProfileUpdatedTrigger"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="QueueAggregationCompletedTrigger"
>                                read="users" write="users" admin="admin" />
>
>                            <amq:authorizationEntry
> queue="QueueCmAttributesTrigger"
>                                read="users" write="users" admin="admin" />
>
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_UPSTREAM_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DOWNSTREAM_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_IRL_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_RVLD_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_RVLD_CPU_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_MACINT_CPU_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_RVLD_QOS_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_MACINT_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_FACTS_UP_D30"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_FACTS_DOWN_D30"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_BG_HOUR_FACTS"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_FACTS_PROF_UP"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_FACTS_PROF_DOWN"
>                                read="users" write="users" admin="admin" />
>                            <amq:authorizationEntry
> queue="TableQueue_DEVICE_ATTRIBUTES"
>                                read="users" write="users" admin="admin" />
>
>                            <amq:authorizationEntry
> topic="ActiveMQ.Advisory.>"
>                                read="guests,users" write="guests,users"
> admin="guests,users" />
>                        </amq:authorizationEntries>
>                    </amq:authorizationMap>
>                </amq:map>
>            </amq:authorizationPlugin>
>
>            <amq:simpleAuthenticationPlugin>
>                <amq:users>
>                    <amq:authenticationUser id="amqUser" username=""
>                        password="" groups="users" />
>                    <amq:authenticationUser id="amqAdmin"
> username="amqAdmin"
>                        password="amqAdmin" groups="admin" />
>                </amq:users>
>            </amq:simpleAuthenticationPlugin>
>        </amq:plugins>
>
>
>
>        <amq:systemUsage>
>            <amq:systemUsage sendFailIfNoSpace="true" >
>                <amq:memoryUsage>
>                    <amq:memoryUsage limit="$amq.limits.memory}" />
>                </amq:memoryUsage>
>                <amq:storeUsage>
>                    <amq:storeUsage limit="$amq.limits.store}"
>                                    store="#amqStore" />
>                </amq:storeUsage>
>                <amq:tempUsage>
>                    <amq:tempUsage limit="$amq.limits.temp}" />
>                </amq:tempUsage>
>            </amq:systemUsage>
>        </amq:systemUsage>
>
>        <amq:transportConnectors>
>            <amq:transportConnector uri="tcp://$jms.host}:61616" />
>        </amq:transportConnectors>
>    </amq:broker>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3786486.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
Thanks for your interest Gary, here's the broker config:

    <bean id="amqStore"
class="org.apache.activemq.store.amq.AMQPersistenceAdapter" >
        <property name="directory"              value="amq-messages" />
        <property name="maxFileLength"          value="1000000" />
        <property name="checkpointInterval"     value="5000" />
        <property name="cleanupInterval"        value="5000" />
        </bean>



    <amq:broker id="amq"  brokerName="amq"
                deleteAllMessagesOnStartup="true"
                persistent="true"
                persistenceAdapter="#amqStore"
                schedulerSupport="false"
                dataDirectory="amq-data"
                start="true"
                useJmx="true" >

        
        <amq:destinationPolicy>
            <amq:policyMap>
              <amq:policyEntries>
                <amq:policyEntry topic=">"
                                producerFlowControl="false"
                                memoryLimit="100mb">

                  <amq:pendingSubscriberPolicy>
                    <amq:fileCursor />
                  </amq:pendingSubscriberPolicy>
                </amq:policyEntry>

                <amq:policyEntry queue=">"
                                producerFlowControl="false"
                                lazyDispatch="true"
                                memoryLimit="100mb">

                  <amq:pendingQueuePolicy>
                    <amq:fileQueueCursor/>
                  </amq:pendingQueuePolicy>
                </amq:policyEntry>
              </amq:policyEntries>
            </amq:policyMap>
        </amq:destinationPolicy>

        
        
        <amq:destinations>
            <amq:queue physicalName="QueueAMQ" />
            <amq:queue physicalName="QueueReplPackageTrigger" />
            <amq:queue physicalName="QueueMAEPackageTrigger" />
            <amq:queue physicalName="QueueInterfaceProfileUpdatedTrigger" />
            <amq:queue physicalName="QueueAggregationCompletedTrigger" />
            <amq:queue physicalName="QueueCmAttributesTrigger" />
            <amq:queue physicalName="TableQueue_DEVICE_FACTS" />
            <amq:queue physicalName="TableQueue_UPSTREAM_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_DOWNSTREAM_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_IRL_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_RVLD_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_RVLD_CPU_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_MACINT_CPU_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_RVLD_QOS_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_MACINT_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_DEVICE_FACTS_UP_D30" />
            <amq:queue physicalName="TableQueue_DEVICE_FACTS_DOWN_D30" />
            <amq:queue physicalName="TableQueue_BG_HOUR_FACTS" />
            <amq:queue physicalName="TableQueue_DEVICE_FACTS_PROF_UP" />
            <amq:queue physicalName="TableQueue_DEVICE_FACTS_PROF_DOWN" />
            <amq:queue physicalName="TableQueue_DEVICE_ATTRIBUTES" />

            
        </amq:destinations>

        <amq:managementContext>
            <amq:managementContext connectorPort="61099" />
        </amq:managementContext>

        <amq:plugins>
            <amq:authorizationPlugin>
                <amq:map>
                    <amq:authorizationMap>
                        
                        <amq:authorizationEntries>
                            <amq:authorizationEntry queue="QueueAMQ"
                                read="users" write="users" admin="admin" />

                            <amq:authorizationEntry
queue="QueueReplPackageTrigger"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="QueueMAEPackageTrigger"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="QueueInterfaceProfileUpdatedTrigger"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="QueueAggregationCompletedTrigger"
                                read="users" write="users" admin="admin" />

                            <amq:authorizationEntry
queue="QueueCmAttributesTrigger"
                                read="users" write="users" admin="admin" />

                            <amq:authorizationEntry
queue="TableQueue_DEVICE_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_UPSTREAM_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DOWNSTREAM_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_IRL_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_RVLD_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_RVLD_CPU_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_MACINT_CPU_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_RVLD_QOS_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_MACINT_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DEVICE_FACTS_UP_D30"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DEVICE_FACTS_DOWN_D30"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_BG_HOUR_FACTS"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DEVICE_FACTS_PROF_UP"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DEVICE_FACTS_PROF_DOWN"
                                read="users" write="users" admin="admin" />
                            <amq:authorizationEntry
queue="TableQueue_DEVICE_ATTRIBUTES"
                                read="users" write="users" admin="admin" />

                            <amq:authorizationEntry
topic="ActiveMQ.Advisory.>"
                                read="guests,users" write="guests,users"
admin="guests,users" />
                        </amq:authorizationEntries>
                    </amq:authorizationMap>
                </amq:map>
            </amq:authorizationPlugin>

            <amq:simpleAuthenticationPlugin>
                <amq:users>
                    <amq:authenticationUser id="amqUser" username=""
                        password="" groups="users" />
                    <amq:authenticationUser id="amqAdmin"
username="amqAdmin"
                        password="amqAdmin" groups="admin" />
                </amq:users>
            </amq:simpleAuthenticationPlugin>
        </amq:plugins>

        
        
        <amq:systemUsage>
            <amq:systemUsage sendFailIfNoSpace="true" >
                <amq:memoryUsage>
                    <amq:memoryUsage limit="$amq.limits.memory}" />
                </amq:memoryUsage>
                <amq:storeUsage>
                    <amq:storeUsage limit="$amq.limits.store}"
                                    store="#amqStore" />
                </amq:storeUsage>
                <amq:tempUsage>
                    <amq:tempUsage limit="$amq.limits.temp}" />
                </amq:tempUsage>
            </amq:systemUsage>
        </amq:systemUsage>

        <amq:transportConnectors>
            <amq:transportConnector uri="tcp://$jms.host}:61616" />
        </amq:transportConnectors>
    </amq:broker>



--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3786486.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by Gary Tully <ga...@gmail.com>.
can you post the xml configuration of the broker, it looks like the
temp directory does not exist or does not resolve. It should be based
of the dataDirectory attribute if that is specified.

On 2 September 2011 16:09, nrichards <jr...@arrisi.com> wrote:
> Tuning the OS could be interesting. If you have a specific suggestion about
> the OS tuning, I'll certainly pursue it.
>
> here's an example of one of the IO exceptions, followed by a PList.size()
> exception
>
> 2011-09-02 05:44:18,863 ERROR [cursors.FilePendingMessageCursor] [] : Caught
> an IO Exception getting the DiskList 7_PendingCursor:FACTS
> java.lang.NullPointerExceptionnull
>    at java.io.UnixFileSystem.resolve(UnixFileSystem.java:92)null
>    at java.io.UnixFileSystem.resolve(UnixFileSystem.java:118)null
>    at java.io.File.getCanonicalPath(File.java:559)null
>    at java.io.File.getCanonicalFile(File.java:583)null
>    at java.io.File.mkdirs(File.java:1189)null
>    at org.apache.activemq.util.IOHelper.mkdirs(IOHelper.java:249)null
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:250)null
>    at
> org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:203)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)null
>    at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)null
>    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
>    at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null
>
> at java.lang.Thread.run(Thread.java:619)null Exception in thread "Usage
> Async Task" java.lang.RuntimeException: java.lang.NullPointerException
>  at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:445)
>  at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)
>  at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)
>  at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:619)
>
> Caused by: java.lang.NullPointerException
>  at java.io.UnixFileSystem.resolve(UnixFileSystem.java:92)
>  at java.io.UnixFileSystem.resolve(UnixFileSystem.java:118)
>  at java.io.File.getCanonicalPath(File.java:559)
>  at java.io.File.getCanonicalFile(File.java:583)
>  at java.io.File.mkdirs(File.java:1189)
>  at org.apache.activemq.util.IOHelper.mkdirs(IOHelper.java:249)
>  at
> org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:250)
>  at
> org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:203)
>  at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)
>  ... 6 more
>
>
> 2011-09-02 07:46:45,975 DEBUG [TransportConnection.Service] [] : Error
> occured while processing async command: ActiveMQObjectMessage {commandId =
> 769, responseRequired = false, messageId =
> ID:lagavulin-61712-1314899305643-0:42:1:1:765, originalDestination = null,
> originalTransactionId = null, producerId =
> ID:lagavulin-61712-1314899305643-0:42:1:1, destination =
> queue://starnodeTableQueue_CM_HOUR_FACTS, transactionId = null, expiration =
> 0, timestamp = 1314974805813, arrival = 0, brokerInTime = 1314974805858,
> brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false,
> type = null, priority = 4, groupID = null, groupSequence = 0,
> targetConsumerId = null, compressed = false, userID = null, content =
> org.apache.activemq.util.By
> teSequence@a167b9, marshalledProperties =
> org.apache.activemq.util.ByteSequence@a0a822, dataStructure = null,
> redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=32,
> HOST=134.242.171.26, trigger_name=TriggerData, version=3.4},
> readOnlyProperties = false, readOnlyBody = false, droppable = false},
> exception: java.lang.NullPointerException java.lang.NullPointerExceptionnull
> at
> org.apache.activemq.store.kahadb.plist.PListStore.size(PListStore.java:193)null
> at org.apache.activemq.usage.TempUsage.retrieveUsage(TempUsage.java:53)null
> at org.apache.activemq.usage.Usage.caclPercentUsage(Usage.java:240)null
> at org.apache.activemq.usage.Usage.isFull(Usage.java:117)null
> at org.apache.activemq.usage.Usage.isFull(Usage.java:113)null
> at org.apache.activemq.usage.Usage.isFull(Usage.java:109)null
> at org.apache.activemq.broker.region.Queue.checkUsage(Queue.java:750)null
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:674)null
> at org.apache.activemq.broker.region.Queue.send(Queue.java:653)null
> at
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)null
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)null
> at org.apache.activemq.brokerBrokerFilter.send(BrokerFilter.java:129)null
> at
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
> at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at
> org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
> at
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
> at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)null
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)null
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)null
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)null
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)null
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)null
> at java.lang.Thread.run(Thread.java:619)null
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3786303.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by nrichards <jr...@arrisi.com>.
Tuning the OS could be interesting. If you have a specific suggestion about
the OS tuning, I'll certainly pursue it.

here's an example of one of the IO exceptions, followed by a PList.size()
exception

2011-09-02 05:44:18,863 ERROR [cursors.FilePendingMessageCursor] [] : Caught
an IO Exception getting the DiskList 7_PendingCursor:FACTS
java.lang.NullPointerExceptionnull
    at java.io.UnixFileSystem.resolve(UnixFileSystem.java:92)null
    at java.io.UnixFileSystem.resolve(UnixFileSystem.java:118)null
    at java.io.File.getCanonicalPath(File.java:559)null
    at java.io.File.getCanonicalFile(File.java:583)null
    at java.io.File.mkdirs(File.java:1189)null
    at org.apache.activemq.util.IOHelper.mkdirs(IOHelper.java:249)null
    at
org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:250)null
    at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:203)null
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)null 
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)null 
    at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)null
    at org.apache.activemq.usage.Usage$1.run(Usage.java:268)null
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)null
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)null

at java.lang.Thread.run(Thread.java:619)null Exception in thread "Usage
Async Task" java.lang.RuntimeException: java.lang.NullPointerException
  at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:445)
  at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.flushToDisk(FilePendingMessageCursor.java:423)
  at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:381)
  at org.apache.activemq.usage.Usage$1.run(Usage.java:268)
  at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.NullPointerException
  at java.io.UnixFileSystem.resolve(UnixFileSystem.java:92)
  at java.io.UnixFileSystem.resolve(UnixFileSystem.java:118)
  at java.io.File.getCanonicalPath(File.java:559)
  at java.io.File.getCanonicalFile(File.java:583)
  at java.io.File.mkdirs(File.java:1189)
  at org.apache.activemq.util.IOHelper.mkdirs(IOHelper.java:249)
  at
org.apache.activemq.store.kahadb.plist.PListStore.intialize(PListStore.java:250)
  at
org.apache.activemq.store.kahadb.plist.PListStore.getPList(PListStore.java:203)
  at
org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.getDiskList(FilePendingMessageCursor.java:442)
  ... 6 more


2011-09-02 07:46:45,975 DEBUG [TransportConnection.Service] [] : Error
occured while processing async command: ActiveMQObjectMessage {commandId =
769, responseRequired = false, messageId =
ID:lagavulin-61712-1314899305643-0:42:1:1:765, originalDestination = null,
originalTransactionId = null, producerId =
ID:lagavulin-61712-1314899305643-0:42:1:1, destination =
queue://starnodeTableQueue_CM_HOUR_FACTS, transactionId = null, expiration =
0, timestamp = 1314974805813, arrival = 0, brokerInTime = 1314974805858,
brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false,
type = null, priority = 4, groupID = null, groupSequence = 0,
targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.By
teSequence@a167b9, marshalledProperties =
org.apache.activemq.util.ByteSequence@a0a822, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {TO=0, FROM=32,
HOST=134.242.171.26, trigger_name=TriggerData, version=3.4},
readOnlyProperties = false, readOnlyBody = false, droppable = false},
exception: java.lang.NullPointerException java.lang.NullPointerExceptionnull      
at
org.apache.activemq.store.kahadb.plist.PListStore.size(PListStore.java:193)null      
at org.apache.activemq.usage.TempUsage.retrieveUsage(TempUsage.java:53)null   
at org.apache.activemq.usage.Usage.caclPercentUsage(Usage.java:240)null
at org.apache.activemq.usage.Usage.isFull(Usage.java:117)null 
at org.apache.activemq.usage.Usage.isFull(Usage.java:113)null   
at org.apache.activemq.usage.Usage.isFull(Usage.java:109)null
at org.apache.activemq.broker.region.Queue.checkUsage(Queue.java:750)null       
at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:674)null
at org.apache.activemq.broker.region.Queue.send(Queue.java:653)null    
at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)null 
at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)null       
at org.apache.activemq.brokerBrokerFilter.send(BrokerFilter.java:129)null    
at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)null
at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)null    
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null    
at
org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)null
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)null
at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)null
at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)null   
at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)null
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)null
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)null      
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)null
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)null
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)null
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)null
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)null
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)null
at java.lang.Thread.run(Thread.java:619)null


--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3786303.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: AMQ 5.5 non-persistent messages not processed, counted as in-flight

Posted by Johan Edstrom <se...@gmail.com>.
I think you need to tune your OS.


On Sep 1, 2011, at 3:35 PM, nrichards wrote:

> Thanks, I'll add that to the configuration.
> 
> Perhaps this should be different thread, but I'm also using a filecursor to
> handle message buffering of non-persistent queue messages and have a large
> number of occurrences of IO Exceptions get the DiskList, with further
> messages indicating some kind of file access issue.  This is on Solaris.
> 
> A most recent example is an NPE at java.io.UnxiFileSystem.resolve --
> apparently as part of a File.mkdirs invocation  in the activemq
> IOHelper.mkdirs (line 249).
> 
> Is this likely to be a consequence of how memory limits are set both overall
> and per-destination?
> 
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-non-persistent-messages-not-processed-counted-as-in-flight-tp3776808p3784833.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.