Philip Harvey created QPID-4376:
-----------------------------------
Summary: Java broker - trying to delete a queue declared in
virtualhosts.xml causes IllegalStateException
Key: QPID-4376
URL: https://issues.apache.org/jira/browse/QPID-4376
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: 0.18
Reporter: Philip Harvey
Priority: Minor
A user declared a durable queue in their virtualhosts.xml and tried to delete
it using the web management UI. This failed due to the exception below. Note
that this is an unusual use case (since the queue will be re-added when
virtualhosts.xml is read during the next restart), but the broker should
nevertheless handle it more gracefully.
{noformat}
2012-10-15 09:15:16,254 WARN [qtp24422114-21] rest.RestServlet
(RestServlet.java:479) - Caught exception
java.lang.IllegalStateException: org.apache.qpid.AMQStoreException: Binding
Binding{bindingKey=***, exchange=DirectExchange[amq.direct]
, queue=***, id= d338fc97-f930-3b9b-8c4b-2ec7e1f4f80a } not found [error code
541: internal error]
at
org.apache.qpid.server.model.adapter.QueueAdapter.delete(QueueAdapter.java:147)
at
org.apache.qpid.server.model.adapter.QueueAdapter.setDesiredState(QueueAdapter.java:720)
at
org.apache.qpid.server.management.plugin.servlet.rest.RestServlet.doDeleteWithSubjectAndActor(RestServlet.java:498)
at
org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet$4.run(AbstractServlet.java:172)
at
org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet$4.run(AbstractServlet.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.doWithSubjectAndActor(AbstractServlet.java:214)
at
org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.doDelete(AbstractServlet.java:166)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:719)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:348)
at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.qpid.AMQStoreException: Binding Binding{bindingKey=***,
exchange=DirectExchange[amq.direct], queue=***, id=
d338fc97-f930-3b9b-8c4b-2ec7e1f4f80a } not found [error code 541: internal
error]
at
org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.unbindQueue(AbstractBDBMessageStore.java:843)
at
org.apache.qpid.server.binding.BindingFactory.removeBinding(BindingFactory.java:257)
at
org.apache.qpid.server.binding.BindingFactory.removeBinding(BindingFactory.java:212)
at
org.apache.qpid.server.queue.SimpleAMQQueue.delete(SimpleAMQQueue.java:1371)
at
org.apache.qpid.server.model.adapter.QueueAdapter.delete(QueueAdapter.java:138)
... 31 more
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]