qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charith Wickramarachchi <charith.dhanus...@gmail.com>
Subject Re: Qpid broker gives out a warning when polling messages from a Queue.
Date Mon, 14 May 2012 09:02:02 GMT
Hi Rob ,


I tried with the latest RC and issue persists. I stated doing some
investigation before creating a jira as this might not be a bug and simply
a user issue. I found that this issue comes only when JMS client trying to
create a queue browser and trying to get enumeration.


But when i created a separate client and try the scenario with the system
property ClientProperties.AMQP_VERSION = "0-91" it worked. But it gives an
exception when closing the session

Broker side error :
java.lang.RuntimeException: ERROR : Deleting queue 2failed
    at
org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:496)
    at
org.apache.qpid.server.AMQChannel.unsubscribeAllConsumers(AMQChannel.java:549)
    at org.apache.qpid.server.AMQChannel.close(AMQChannel.java:507)
    at
org.apache.qpid.server.protocol.AMQProtocolEngine.closeChannel(AMQProtocolEngine.java:639)
    at
org.apache.qpid.server.handler.ChannelCloseHandler.methodReceived(ChannelCloseHandler.java:69)
    at
org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchChannelClose(ServerMethodDispatcherImpl.java:228)
    at
org.apache.qpid.framing.amqp_0_91.ChannelCloseBodyImpl.execute(ChannelCloseBodyImpl.java:140)
    at
org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:205)
    at
org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:390)
    at
org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
    at
org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:334)
    at
org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:283)
    at
org.apache.qpid.server.protocol.AMQProtocolEngine$1.run(AMQProtocolEngine.java:254)
    at org.apache.qpid.pool.Job.processAll(Job.java:110)
    at org.apache.qpid.pool.Job.run(Job.java:149)
    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:662)


Client side error :

ost: 127.0.0.1
Port: 5673
Virtual Host: carbon
Client ID: clientID
Active session count: 1: org.apache.qpid.AMQDisconnectedException: Server
closed connection and reconnection not permitted.
[2012-05-14 14:00:53,721] ERROR - AMQConnection Throwable Received but no
listener set: org.apache.qpid.AMQDisconnectedException: Server closed
connection and reconnection not permitted.
[2012-05-14 14:00:53,729] ERROR - JMSMessageStore Error while cleaning up
JMS session in the message store: JMSMS
javax.jms.JMSException: Error closing session:
org.apache.qpid.AMQException: Woken up due to class javax.jms.JMSException
    at org.apache.qpid.client.AMQSession.close(AMQSession.java:748)
    at org.apache.qpid.client.AMQSession.close(AMQSession.java:708)
    at org.apache.qpid.client.AMQSession.close(AMQSession.java:567)
    at
org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.cleanupJMSResources(JMSMessageStore.java:644)
    at
org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.peek(JMSMessageStore.java:248)
    at
org.apache.synapse.message.processors.forward.ForwardingJob.execute(ForwardingJob.java:92)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: org.apache.qpid.AMQException: Woken up due to class
javax.jms.JMSException
    at
org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:207)
    at
org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:127)
    at
org.apache.qpid.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:674)
    at
org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:695)
    at
org.apache.qpid.client.AMQSession_0_8.sendClose(AMQSession_0_8.java:164)
    at org.apache.qpid.client.AMQSession.close(AMQSession.java:742)
    ... 7 more
Caused by: javax.jms.JMSException: Exception thrown against AMQConnection:
Host: 127.0.0.1
Port: 5673
Virtual Host: carbon
Client ID: clientID
Active session count: 1: org.apache.qpid.AMQDisconnectedException: Server
closed connection and reconnection not permitted.
    at
org.apache.qpid.client.AMQConnection.exceptionReceived(AMQConnection.java:1268)
    at
org.apache.qpid.client.protocol.AMQProtocolHandler.closed(AMQProtocolHandler.java:276)
    at
org.apache.qpid.transport.network.mina.MINANetworkDriver.sessionClosed(MINANetworkDriver.java:347)
    at
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.sessionClosed(AbstractIoFilterChain.java:677)
    at
org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:321)
    at
org.apache.mina.common.support.AbstractIoFilterChain.access$900(AbstractIoFilterChain.java:54)
    at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:781)
    at
org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:265)
    at
org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
    at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.qpid.AMQDisconnectedException: Server closed
connection and reconnection not permitted.
    ... 11 more


I started to debug the qpid code to identify whats going on. Any idea on
how to resolve this is highly appreciated.

And also i would like to know what does
org.apache.qpid.server.subscription.ExplicitAcceptDispositionChangeListener
do ?
I tried searching for documentation on this but could not find it. are
there any documentation which i can use to get Qpid architecture details
and then dig in to the code using that.

thanks,
Charith




On Fri, May 11, 2012 at

I 3:28 PM, Charith Wickramarachchi <charith.dhanushka@gmail.com> wrote:

> Thanks Rob for the Quick response I'll check with the latest RC. In my
> case i m using Qpid v 0.10
>
> regards,
> Charith
>
>
>
> On Fri, May 11, 2012 at 3:02 PM, Rob Godfrey <rob.j.godfrey@gmail.com>wrote:
>
>> Hi Charith,
>>
>> can you confirm which release version of the Java Broker you are using
>> (it's always worth trying the latest version - in this case I'd grab
>> the latest 0.16 RC that Justin posted a couple of days ago - though
>> I'm not aware of any bugs that would cause this error)?
>>
>> It would also help if you could send full broker log files that are
>> generated when this occurs - the best way is to raise a JIRA and
>> attach the log file there (stripped of any confidential information it
>> might contain - obviously).
>>
>> Cheers,
>> Rob
>>
>> On 11 May 2012 11:24, Charith Wickramarachchi
>> <charith.dhanushka@gmail.com> wrote:
>> > Hi,
>> >
>> > I m using qpid java jms client to publish and consume messages from a
>> queue
>> > in Qpid java broker.
>> > When my application polling messages from a queue. Broker gives out a
>> > warning :
>> >
>> > WARN
>> >
>> {org.apache.qpid.server.subscription.ExplicitAcceptDispositionChangeListener}
>> > -  MessageAccept received for message which has not been acquired
>> (likely
>> > client error)
>> >
>> > And if  continue this publish poll scenario for some time i can see
>> > following log in the Broker logs.
>> >
>> > {org.apache.qpid.transport.network.mina.MINANetworkDriver} - Exception
>> > thrown and no ProtocolEngine to handle it
>> > org.apache.qpid.transport.ProtocolViolationException: Received frames
>> for
>> > an already dettached session
>> >        at
>> > org.apache.qpid.transport.Connection.dispatch(Connection.java:408)
>> >        at
>> >
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.MethodDelegate.sessionKnownCompleted(MethodDelegate.java:95)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.SessionKnownCompleted.dispatch(SessionKnownCompleted.java:96)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:49)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:40)
>> >
>> >        at org.apache.qpid.transport.Method.delegate(Method.java:163)
>> >        at
>> > org.apache.qpid.transport.Connection.received(Connection.java:369)
>> >        at
>> >
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:196)
>> >
>> >        at
>> >
>> org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:53)
>> >
>> >        at
>> > org.apache.qpid.transport.network.Assembler.emit(Assembler.java:95)
>> >        at
>> > org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:181)
>> >        at
>> > org.apache.qpid.transport.network.Assembler.frame(Assembler.java:129)
>> >        at
>> org.apache.qpid.transport.network.Frame.delegate(Frame.java:133)
>> >        at
>> > org.apache.qpid.transport.network.Assembler.received(Assembler.java:100)
>> >        at
>> > org.apache.qpid.transport.network.Assembler.received(Assembler.java:42)
>> >        at
>> >
>> org.apache.qpid.transport.network.InputHandler.next(InputHandler.java:187)
>> >        at
>> >
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:103)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.network.InputHandler.received(InputHandler.java:42)
>> >
>> >        at
>> >
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:102)
>> >
>> >        at
>> >
>> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:36)
>> >
>> >        at
>> >
>> org.apache.qpid.transport.network.mina.MINANetworkDriver.messageReceived(MINANetworkDriver.java:337)
>> >
>> >        at
>> >
>> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>> >
>> >        at
>> >
>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>> >
>> >        at
>> >
>> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>> >
>> >        at
>> >
>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>> >
>> >        at
>> >
>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>> >
>> >        at
>> >
>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>> >
>> >        at
>> >
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
>> >
>> >        at
>> >
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
>> >
>> >        at java.lang.Thread.run(Thread.java:662)
>> >
>> >
>> >
>> > My Polling message logic looks like :
>> >
>> >        Connection con = // create Connection
>> >       Session session =
>> con.createSession(false,Session.AUTO_ACKNOWLEDGE);
>> >       Destination destination = context.lookup(name);
>> >       MessageConsumer consumer =session.createConsumer(destination);
>> >       Object msg = consumer.receive(1000);
>> >
>> >
>> > Any idea on whats happening and how to overcome this issue is highly
>> > appreciated.
>> >
>> >
>> > thanks,
>> > Charith
>> >
>> >
>> >
>> >
>> > --
>> > Charith Dhanushka Wickramarachchi
>> > http://charithwiki.blogspot.com/
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
>> For additional commands, e-mail: dev-help@qpid.apache.org
>>
>>
>
>
> --
> Charith Dhanushka Wickramarachchi
> http://charithwiki.blogspot.com/
>
>


-- 
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message