I've attached a grep of one of the consumer log files. It seems that the derby backend may have been the problem with regard to locking. It seems that over a period of time under high number of messages derby gets confused.
What alternatives do I have? My attempt to use mysql as a backend with activem4.1.1 failed with the unrecognized tag mapping error (which I posted on here with no response). My attempt to use mysql as a backend with activemq5.0.0 succeeded but it tripled the production time and doubled total consumption time. Also 5.0.0 (just like fmb-5.0.0.9) has the 'could not recover message from data store' problem which makes it a non-option anyway. Any recommendations? I feel I'm at a dead end somewhat and would really appreciate some help. Thanks. On Mon, Apr 7, 2008 at 9:19 AM, Dhruba Bandopadhyay <[EMAIL PROTECTED]> wrote: > Hi, > > Frequently during my tests I've noticed that they complete to 99%. > That is to say that frequently one single message remains unconsumed > on the broker queue. The consumers seem fine and I don't see any > errors. > > What are the usual reasons for this happening? I am using Spring > 2.5.2 and ActiveMQ 4.1.1. This is quite unsettling as it is obviously > making the system less predictable and less robust so any help would > be appreciated. > > Thanks. >
[EMAIL PROTECTED]:~$ grep -i exception /var/log/tomcat/consumer.log 2008-04-07 00:25:48,414 WARN org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1529) - Async exception with no exception listener: java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:174954 in container: SQL Exception: A lock could not be obtained within the time requested java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:174954 in container: SQL Exception: A lock could not be obtained within the time requested Caused by: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:174954 in container: SQL Exception: A lock could not be obtained within the time requested at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31) Caused by: java.lang.Throwable: org.apache.derby.impl.jdbc.EmbedSQLException: A lock could not be obtained within the time requested at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) 2008-04-07 00:31:29,490 WARN org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1529) - Async exception with no exception listener: java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206830 in container: SQL Exception: A lock could not be obtained within the time requested java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206830 in container: SQL Exception: A lock could not be obtained within the time requested Caused by: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206830 in container: SQL Exception: A lock could not be obtained within the time requested at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31) Caused by: java.lang.Throwable: org.apache.derby.impl.jdbc.EmbedSQLException: A lock could not be obtained within the time requested at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) 2008-04-07 00:32:29,508 WARN org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1529) - Async exception with no exception listener: java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206838 in container: SQL Exception: A lock could not be obtained within the time requested java.lang.RuntimeException: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206838 in container: SQL Exception: A lock could not be obtained within the time requested Caused by: java.io.IOException: Failed to broker message: ID:gboff01-gs-dev-bpro1-36205-1207322299756-0:7:1:1:206838 in container: SQL Exception: A lock could not be obtained within the time requested at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:31) Caused by: java.lang.Throwable: org.apache.derby.impl.jdbc.EmbedSQLException: A lock could not be obtained within the time requested at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)