Consumer failing when MessageCache full? (3.0.8 200306050849
eoin Jan 9, 2004 10:08 AM
"eoin" wrote:
I'm doing a load-test on my system, using JMS, with jdbc2 persistence (hsqldb). I have changed the messagecache to use 16m/32m memory limits. From a client i send messages onto one queue. In the server VM, I have a message consumer (not a mdb) which receives these messages and routes them to another queue.
The problem is, after a while (presumably when the message cache hits some limit), this message appears in the log file. However, my consumer does not get any exception (I catch JMSException, which should catch SpyJMSException). Messages stop getting delivered to my consumer.
2004-01-09 16:17:56,722 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.parentTraceEnabled=true
2004-01-09 16:17:56,722 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.nestedTraceEnabled=false
2004-01-09 16:17:56,723 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.detectDuplicateNesting=true
2004-01-09 16:17:56,723 WARN [org.jboss.util.NestedThrowable] Duplicate throwable nesting of same base type: class org.jboss.mq.SpyJMSException is assignable from: class org.jbos
s.mq.SpyJMSException
2004-01-09 16:17:56,723 WARN [org.jboss.mq.SpyMessageConsumer] Message consumer closing due to error in listening thread.
org.jboss.mq.SpyJMSException: Cannot acknowlege a message; - nested throwable: (org.jboss.mq.SpyJMSException: Could not delete the message from the database: delete affected 0 row
s)
at org.jboss.mq.Connection.send(Connection.java:901)
at org.jboss.mq.SpySession.doAcknowledge(SpySession.java:601)
at org.jboss.mq.SpyMessage.doAcknowledge(SpyMessage.java:537)
at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:568)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.jboss.mq.SpyJMSException: Could not delete the message from the database: delete affected 0 rows
at org.jboss.mq.pm.jdbc2.PersistenceManager.remove(PersistenceManager.java:937)
at org.jboss.mq.server.BasicQueue.acknowledge(BasicQueue.java:402)
at org.jboss.mq.server.JMSQueue.acknowledge(JMSQueue.java:114)
at org.jboss.mq.server.ClientConsumer.acknowledge(ClientConsumer.java:324)
at org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:520)
at org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:504)
at org.jboss.mq.server.JMSServerInterceptorSupport.acknowledge(JMSServerInterceptorSupport.java:197)
at org.jboss.mq.server.TracingInterceptor.acknowledge(TracingInterceptor.java:404)
at org.jboss.mq.server.JMSServerInvoker.acknowledge(JMSServerInvoker.java:199)
at org.jboss.mq.il.jvm.JVMServerIL.acknowledge(JVMServerIL.java:215)
at org.jboss.mq.Connection.send(Connection.java:897)
... 4 more
2004-01-09 16:17:56,724 DEBUG [org.jboss.mq.SpyMessageConsumer] Message consumer closing.
When the consumer eventually closes it's session, i get this exception:
org.jboss.mq.SpyJMSException: Cannot acknowlege a message; - nested throwable: (javax.jms.JMSException: The provided subscription does not exist)
at org.jboss.mq.Connection.send(Connection.java:901)
at org.jboss.mq.SpySession.close(SpySession.java:379)
at org.jboss.mq.Connection.close(Connection.java:464)
at Router.stop(Router.java:225)
...
Caused by: javax.jms.JMSException: The provided subscription does not exist
at org.jboss.mq.server.ClientConsumer.acknowledge(ClientConsumer.java:317)
at org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:520)
at org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:504)
at org.jboss.mq.server.JMSServerInterceptorSupport.acknowledge(JMSServerInterceptorSupport.java:197)
at org.jboss.mq.server.TracingInterceptor.acknowledge(TracingInterceptor.java:404)
at org.jboss.mq.server.JMSServerInvoker.acknowledge(JMSServerInvoker.java:199)
at org.jboss.mq.il.jvm.JVMServerIL.acknowledge(JVMServerIL.java:215)
at org.jboss.mq.Connection.send(Connection.java:897)
... 27 more
I can't find any posts / bugs about the 'Could not delete the message from the database' error message, except this http://www.geocrawler.com/archives/3/10766/2002/5/200/8775758/ , which seems to be about a different issue (class circularity error).
eoin.