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 (Created) (JIRA)" <ji...@apache.org> on 2012/02/09 12:30:59 UTC

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

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


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


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

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

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

    Status: Ready To Review  (was: In Progress)
    
> 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


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

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

Andrew MacBean reassigned QPID-3823:
------------------------------------

    Assignee: Keith Wall  (was: Andrew MacBean)

Could you please review and apply.

Thanks
Andrew
                
> 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: Keith Wall
>             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


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

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

Keith Wall resolved QPID-3823.
------------------------------

    Resolution: Fixed

No comments from me, patch applied.
                
> 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: Keith Wall
>             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


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

Posted by "Andrew MacBean (Updated) (JIRA)" <ji...@apache.org>.
     [ 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