qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: Qpid broker gives out a warning when polling messages from a Queue.
Date Mon, 14 May 2012 13:29:19 GMT
Hi Charith,

from the stack trace it doesn't appear that you are using the latest
client (the client no longer uses MINA)

-- Rob


On 14 May 2012 11:02, Charith Wickramarachchi
<charith.dhanushka@gmail.com> wrote:
> 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/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message