Bugs item #986613, was opened at 2004-07-07 14:15
Message generated for change (Settings changed) made by ejort
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=986613&group_id=22866
Category: JBossMQ
Group: v3.2
>Status: Closed
>Resolution: Duplicate
Priority: 5
Submitted By: Rainer Montag (rmontag)
>Assigned to: Adrian Brock (ejort)
Summary: SpyMessageConsumer.receive() hangs after SpyJMSException
Initial Comment:
We have this problem in JBoss 3.2.3 and 3.2.5.
We have created a Message Queue (using Oracle 9i as
Persistence Manager) and written a MBean, which starts
a thread with a loop receiving messages from the queue.
Occasionally we see the following exception in our
server.log:
10:55:04,979 ERROR [SpyMessageConsumer] Ignoring error
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 rows)
at org.jboss.mq.Connection.send(Connection.java:1186)
at
org.jboss.mq.SpySession.doAcknowledge(SpySession.java:175)
at
org.jboss.mq.SpyMessage.doAcknowledge(SpyMessage.java:322)
at
org.jboss.mq.SpyMessageConsumer.preProcessMessage(SpyMessageConsumer.java:796)
at
org.jboss.mq.SpyMessageConsumer.getMessage(SpyMessageConsumer.java:755)
at
org.jboss.mq.SpyMessageConsumer.receive(SpyMessageConsumer.java:323)
at
de.danet.an.util.ejbtimer.EJBTimerService$Worker.run(EJBTimerService.java:393)
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:978)
at
org.jboss.mq.server.BasicQueue.acknowledge(BasicQueue.java:527)
at
org.jboss.mq.server.JMSQueue.acknowledge(JMSQueue.java:123)
at
org.jboss.mq.server.ClientConsumer.acknowledge(ClientConsumer.java:322)
at
org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:524)
at
org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:508)
at
org.jboss.mq.server.JMSServerInterceptorSupport.acknowledge(JMSServerInterceptorSupport.java:198)
at
org.jboss.mq.server.TracingInterceptor.acknowledge(TracingInterceptor.java:481)
at
org.jboss.mq.server.JMSServerInvoker.acknowledge(JMSServerInvoker.java:198)
at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:81)
at
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:356)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:536)
with EJBTimerService.java:
ObjectMessage msg = ObjectMessage)reqReceiver.receive();
As a result of this exception, the receive()-Method
never returns, even if there are new messages on the
queue. In this case we have to restart our Mbean
(recreating new QueueConnection, new QueueSession and
new QueueReceiver) to get the messages.
As stated in the Log, the exception is caught in
SpyMessageConsumer during the acknowledge. Maybe the
exception can be ignored, but it looks as it isn't
handled correctly. Since the exception is not thrown as
an exception of the receive()-Method, we cannot handle
this problem in our code.
OS: Linux 2.4.20
JDK: 1.4.1_01
For Persistence we use the oracle 9.2.0.3 oci driver ,
configured in oracle-ds.xml (no XA).
----------------------------------------------------------------------
>Comment By: Adrian Brock (ejort)
Date: 2004-07-07 15:18
Message:
Logged In: YES
user_id=9459
This is a duplicate of
https://sourceforge.net/tracker/index.php?func=detail&aid=981320&group_id=22866&atid=376685
If you are not trying to use the database for two different
jboss servers
and you have some logging
for me to look at, then please reopen this bug report.
How to get the logging is mentioned in the other thread. I want
to see the logging from where the message was
added/sent to where the error occurs.
Like I said, most likely you are sharing the database with
some other
jboss instance so there is interference and there will be
nothing useful in
the log.
I do not intend to make JBossMQ handle every possible
misconfiguration by the user. In the event of an internal
error like this,
JBossMQ simply throws away the client subscription with a
warning.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=986613&group_id=22866
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development