You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Andrew MacBean (Updated) (JIRA)" <ji...@apache.org> on 2012/02/09 12:57:00 UTC

[jira] [Updated] (QPID-3823) ServerSession unblock(AMQQueue) can cause NPE when trying to remove a queue from _blockingQueues Map that is not present

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

Andrew MacBean updated QPID-3823:
---------------------------------

    Attachment: 0001-QPID-3823-ServerSession-unblock-AMQQueue-can-cause-N.patch
    
> ServerSession unblock(AMQQueue) can cause NPE when trying to remove a queue from _blockingQueues Map that is not present
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3823
>                 URL: https://issues.apache.org/jira/browse/QPID-3823
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.15
>            Reporter: Andrew MacBean
>            Assignee: Andrew MacBean
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3823-ServerSession-unblock-AMQQueue-can-cause-N.patch
>
>
> When running multiple producers and a single consumer on a queue, the unblock code NPEs when trying to remove a queue entry, from the _blockingQueues Map, that is not present.  This is due to the Map being given a Boolean keyed by Queue and in the case above the Map.remove() method returns null.
> The data structures used to hold the blocking queues and sessions used in SimpleAMQQueue and the AMQSessionModel implementations (ServerSession & AMQCHannel) should be changed from ConcurrentMaps to Sets - specifically ConcurrentSkipListSet.  This will prevent the NPE from being possible.

--
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