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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to