qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (Assigned) (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (QPID-3601) Failure to delete queue on a broker shutdown
Date Wed, 30 Nov 2011 14:05:40 GMT

     [ https://issues.apache.org/jira/browse/QPID-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Keith Wall reassigned QPID-3601:
--------------------------------

    Assignee: Robbie Gemmell  (was: Keith Wall)
    
> Failure to delete queue on a broker shutdown
> --------------------------------------------
>
>                 Key: QPID-3601
>                 URL: https://issues.apache.org/jira/browse/QPID-3601
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>
> When slow consumer policy is configured and slow consumer is detected the policy fails
to delete queue on broker shutdown.
> The registry can be destroyed in a shutdown thread and queue SimpleAMQQueue#reconfigure
fails to reconfigure queue.
> As result of it the broker is not shut down and some threads remain running.
> The following exception stack trace demonstrates the issue
> {noformat}
> main 2011-11-09 11:20:47,423 INFO [qpid.test.utils.InternalBrokerHolder] Shutting down
Broker instance
> main 2011-11-09 11:20:47,423 INFO [qpid.server.registry.ApplicationRegistry] Shutting
down ApplicationRegistry(org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry@6c28aeba)
> IoReceiver - /127.0.0.1:56171 2011-11-09 11:20:47,423 DEBUG [server.configuration.plugins.ConfigurationPlugin]
For 'policy' found handlers (1):[
> SlowConsumerDetectionPolicyConfiguration=[ (Policy:TopicDelete)]
> ]
> main 2011-11-09 11:20:47,423 INFO [qpid.server.registry.ApplicationRegistry] Shutting
down ApplicationRegistry:org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry@6c28aeba
> main 2011-11-09 11:20:47,424 INFO [qpid.message.broker.shutting_down] [Broker] BRK-1003
: Shuting down : TCP port 15672
> main 2011-11-09 11:20:47,424 DEBUG [qpid.server.connection.ConnectionRegistry] Closing
connection registry :0 connections.
> IoReceiver - /127.0.0.1:56171 2011-11-09 11:20:47,424 ERROR [apache.qpid.thread.LoggingUncaughtExceptionHandler]
Uncaught exception in thread "IoReceiver - /127.0.0.1:56171"
> java.lang.IllegalStateException: No ApplicationRegistry has been initialised
>         at org.apache.qpid.server.registry.ApplicationRegistry.getInstance(ApplicationRegistry.java:425)
>         at org.apache.qpid.server.configuration.plugins.SlowConsumerDetectionQueueConfiguration.validateConfiguration(SlowConsumerDetectionQueueConfiguration.java:100)
>         at org.apache.qpid.server.configuration.plugins.ConfigurationPlugin.setConfiguration(ConfigurationPlugin.java:144)
>         at org.apache.qpid.server.configuration.plugins.SlowConsumerDetectionQueueConfiguration$SlowConsumerDetectionQueueConfigurationFactory.newInstance(SlowConsumerDetectionQueueConfiguration.java:46)
>         at org.apache.qpid.server.configuration.ConfigurationManager.getConfigurationPlugins(ConfigurationManager.java:47)
>         at org.apache.qpid.server.configuration.plugins.ConfigurationPlugin.offerRemainingConfigurationToOtherPlugins(ConfigurationPlugin.java:172)
>         at org.apache.qpid.server.configuration.plugins.ConfigurationPlugin.setConfiguration(ConfigurationPlugin.java:142)
>         at org.apache.qpid.server.configuration.VirtualHostConfiguration.getQueueConfiguration(VirtualHostConfiguration.java:232)
>         at org.apache.qpid.server.queue.SimpleAMQQueue.reconfigure(SimpleAMQQueue.java:522)
>         at org.apache.qpid.server.queue.SimpleAMQQueue.removeBinding(SimpleAMQQueue.java:545)
>         at org.apache.qpid.server.binding.BindingFactory.removeBinding(BindingFactory.java:252)
>         at org.apache.qpid.server.binding.BindingFactory.removeBinding(BindingFactory.java:221)
>         at org.apache.qpid.server.queue.SimpleAMQQueue.delete(SimpleAMQQueue.java:1364)
>         at org.apache.qpid.server.transport.ServerSessionDelegate$2.doTask(ServerSessionDelegate.java:1020)
>         at org.apache.qpid.server.transport.ServerSession.onClose(ServerSession.java:361)
>         at org.apache.qpid.server.transport.ServerSessionDelegate.closed(ServerSessionDelegate.java:1267)
>         at org.apache.qpid.transport.Session.closed(Session.java:1054)
>         at org.apache.qpid.transport.Connection.closed(Connection.java:551)
>         at org.apache.qpid.server.transport.ServerConnection.closed(ServerConnection.java:408)
>         at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:110)
>         at org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:202)
>         at org.apache.qpid.server.protocol.ProtocolEngine_0_10.closed(ProtocolEngine_0_10.java:196)
>         at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:95)
>         at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:173)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}
> The simplest work around solution here would be an adding of check into reconfigure method
to check if queue is closed and skip reconfigure step.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message