You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2016/11/14 22:55:59 UTC

[jira] [Created] (QPID-7511) [Java Broker] AmqpPort objects cannot be properly closed unless virtual hosts are closed

Rob Godfrey created QPID-7511:
---------------------------------

             Summary: [Java Broker] AmqpPort objects cannot be properly closed unless virtual hosts are closed 
                 Key: QPID-7511
                 URL: https://issues.apache.org/jira/browse/QPID-7511
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
            Reporter: Rob Godfrey


Currently the beforeClose method on AmqpPortImpl looks like the following

{code:java}
    @Override
    protected ListenableFuture<Void> beforeClose()
    {
        _closing.set(true);

        if (_connectionCount.get() == 0)
        {
            _noConnectionsRemain.set(null);
        }

        return _noConnectionsRemain;
    }
{code}

This means that the close will not even be attempted until all connections associated with the port are closed.  However nothing is done from within the port code to actually close these connections.  Only if the virtual host(s) with which these connections are associated are closed will the port closure complete.  Further if some connections are to non-VirtualHost address spaces (such as the $management space) then the connections are never closed and the port closure never terminates.

We need to review why the port is behaving in this way and look for an alternative which allows proper port shutdown / allows broker shutdown in the case where some connections are associated with synthetic vhosts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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