You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Stephen Lau <st...@xml-asia.org> on 2009/03/11 07:48:58 UTC

IllegalStateException after failed over

Hi all,

I am testing fail over test with C++ broker and Java client, using Java perftests examples.
In Java client, I tried to acknowledge message after failed over, as it was using client acknowledge mode.
It threw an exception:

Dispatcher-Channel-1 2009-03-11 14:27:27,709 WARN [apache.qpid.topic.Listener] There was a JMSException during onMessage.
javax.jms.IllegalStateException: has failed over
 at org.apache.qpid.client.AMQSession.acknowledge(AMQSession.java:530)
 at org.apache.qpid.client.message.AMQMessageDelegate_0_10.acknowledge(AMQMessageDelegate_0_10.java:842)
 at org.apache.qpid.client.message.AbstractJMSMessage.acknowledge(AbstractJMSMessage.java:345)
 at org.apache.qpid.topic.Listener.onMessage(Listener.java:201)
 at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:730)
 at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:156)
 at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:696)
 at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:178)
 at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:1)
 at org.apache.qpid.client.AMQSession$Dispatcher.notifyConsumer(AMQSession.java:2937)
 at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:2881)
 at org.apache.qpid.client.AMQSession$Dispatcher.access$0(AMQSession.java:2853)
 at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:2686)
 at org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:55)
 at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:2814)
 at java.lang.Thread.run(Thread.java:619)

Any idea?

Regards,
Stephen

Re: IllegalStateException after failed over

Posted by Rajith Attapattu <ra...@gmail.com>.
Hello Stephan,

Looking at the code I see that if a message was acked after failover
it does throw the IllegalStateException
I am not convinced if this should be the correct behaviour.
I will raise this issue on the dev list and see why this was done this way.

Regards,

Rajith

On Wed, Mar 11, 2009 at 2:48 AM, Stephen Lau <st...@xml-asia.org> wrote:
> Hi all,
>
> I am testing fail over test with C++ broker and Java client, using Java perftests examples.
> In Java client, I tried to acknowledge message after failed over, as it was using client acknowledge mode.
> It threw an exception:
>
> Dispatcher-Channel-1 2009-03-11 14:27:27,709 WARN [apache.qpid.topic.Listener] There was a JMSException during onMessage.
> javax.jms.IllegalStateException: has failed over
>  at org.apache.qpid.client.AMQSession.acknowledge(AMQSession.java:530)
>  at org.apache.qpid.client.message.AMQMessageDelegate_0_10.acknowledge(AMQMessageDelegate_0_10.java:842)
>  at org.apache.qpid.client.message.AbstractJMSMessage.acknowledge(AbstractJMSMessage.java:345)
>  at org.apache.qpid.topic.Listener.onMessage(Listener.java:201)
>  at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:730)
>  at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:156)
>  at org.apache.qpid.client.BasicMessageConsumer.notifyMessage(BasicMessageConsumer.java:696)
>  at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:178)
>  at org.apache.qpid.client.BasicMessageConsumer_0_10.notifyMessage(BasicMessageConsumer_0_10.java:1)
>  at org.apache.qpid.client.AMQSession$Dispatcher.notifyConsumer(AMQSession.java:2937)
>  at org.apache.qpid.client.AMQSession$Dispatcher.dispatchMessage(AMQSession.java:2881)
>  at org.apache.qpid.client.AMQSession$Dispatcher.access$0(AMQSession.java:2853)
>  at org.apache.qpid.client.AMQSession.dispatch(AMQSession.java:2686)
>  at org.apache.qpid.client.message.UnprocessedMessage.dispatch(UnprocessedMessage.java:55)
>  at org.apache.qpid.client.AMQSession$Dispatcher.run(AMQSession.java:2814)
>  at java.lang.Thread.run(Thread.java:619)
>
> Any idea?
>
> Regards,
> Stephen



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org