You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jason Dillaman (JIRA)" <ji...@apache.org> on 2011/08/09 22:42:27 UTC

[jira] [Created] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Empty bindings are not internally pruned from the direct exchange
-----------------------------------------------------------------

                 Key: QPID-3403
                 URL: https://issues.apache.org/jira/browse/QPID-3403
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.7
            Reporter: Jason Dillaman
            Priority: Minor
         Attachments: QPID-3369.patch

Each queue that is created is automatically bound to the default (direct)
exchange with a routing key that matches the queue name.  When the queue is
deleted, the queue is correctly removed from the binding map, but the mapping
from routing key to queues is not removed even when there are no queues bound
to the routing key.  

In a case where thousands of uniquely named queues are created and deleted as
transient storage, the memory usage of the broker will continue to grow as the
default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Updated] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim updated QPID-3403:
-----------------------------

    Attachment: QPID-3403.patch

I think you have attached the wrong patch here?

Suggested patch attached. Good catch btw!

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Gordon Sim
>            Priority: Minor
>         Attachments: QPID-3369.patch, QPID-3403.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Assigned] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim reassigned QPID-3403:
--------------------------------

    Assignee: Gordon Sim

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Gordon Sim
>            Priority: Minor
>         Attachments: QPID-3369.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Commented] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Jason Dillaman (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082768#comment-13082768 ] 

Jason Dillaman commented on QPID-3403:
--------------------------------------

Sorry ... definitely the wrong patch.  My suggested patch was basically the same as your patch.  The only difference is that I had CopyOnWriteArray::empty() return true if the shared pointer wasn't initialized.

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Gordon Sim
>            Priority: Minor
>         Attachments: QPID-3369.patch, QPID-3403.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Commented] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083044#comment-13083044 ] 

Gordon Sim commented on QPID-3403:
----------------------------------

That's a good suggestion; I've added that test in.

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Gordon Sim
>            Priority: Minor
>         Attachments: QPID-3369.patch, QPID-3403.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Updated] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Jason Dillaman (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Dillaman updated QPID-3403:
---------------------------------

    Attachment: QPID-3369.patch

Potential patch for issue

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Priority: Minor
>         Attachments: QPID-3369.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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


[jira] [Resolved] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-3403.
------------------------------

    Resolution: Fixed

> Empty bindings are not internally pruned from the direct exchange
> -----------------------------------------------------------------
>
>                 Key: QPID-3403
>                 URL: https://issues.apache.org/jira/browse/QPID-3403
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Gordon Sim
>            Priority: Minor
>         Attachments: QPID-3369.patch, QPID-3403.patch
>
>
> Each queue that is created is automatically bound to the default (direct)
> exchange with a routing key that matches the queue name.  When the queue is
> deleted, the queue is correctly removed from the binding map, but the mapping
> from routing key to queues is not removed even when there are no queues bound
> to the routing key.  
> In a case where thousands of uniquely named queues are created and deleted as
> transient storage, the memory usage of the broker will continue to grow as the
> default exchange's routing key map continues to grow. 

--
This message is automatically generated by JIRA.
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