qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Greig (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-609) Dispatcher threads are not always killed
Date Sat, 22 Sep 2007 22:01:50 GMT

    [ https://issues.apache.org/jira/browse/QPID-609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12529707

Robert Greig commented on QPID-609:

OK having done some more investigation of this the problem is in AMQSession.closeConsumers.
That method shuts down the dispatcher first before going on to send a Basic.Cancel for each

The obvious solution is simply to move the closing of the dispatcher to the end of the closeConsumers
method - unless anyone can offer a good reason why it should be shut down first?

> Dispatcher threads are not always killed
> ----------------------------------------
>                 Key: QPID-609
>                 URL: https://issues.apache.org/jira/browse/QPID-609
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M2
>         Environment: Any
>            Reporter: Robert Greig
>            Assignee: Robert Greig
> When taking a thread dump at random points during the client unit tests there are huge
numbers of dispatcher threads running.
> Analysis shows this is because of the potential for dispacher threads to be created after
the session has been closed.
> The place where the dispatcher is created is in AMQSession.confirmConsumerCancelled:
> _logger.info("Dispatcher is null so created stopped dispatcher");
> startDistpatcherIfNecessary(true);
> To see this happening simply run the TopicSessionTest and examine the threads running
after the VMBroker has been shut down.
> It is not clear to me why this method could be called *after* a session has been closed.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message