You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Philip Harvey (JIRA)" <ji...@apache.org> on 2012/05/04 16:04:49 UTC

[jira] [Created] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

Philip Harvey created QPID-3980:
-----------------------------------

             Summary: Last value queue - entries replaced by conflation are never deleted, causing memory leak
                 Key: QPID-3980
                 URL: https://issues.apache.org/jira/browse/QPID-3980
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.16
            Reporter: Philip Harvey


This issue was uncovered while investigating QPID-3979. 

The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 

I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.

Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Assigned] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Keith Wall reassigned QPID-3980:
--------------------------------

    Assignee: Keith Wall
    
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>            Assignee: Keith Wall
>             Fix For: 0.17
>
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Updated] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Keith Wall updated QPID-3980:
-----------------------------

    Status: Ready To Review  (was: In Progress)
    
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>            Assignee: Keith Wall
>             Fix For: 0.17
>
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Resolved] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Keith Wall resolved QPID-3980.
------------------------------

    Resolution: Fixed
    
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>            Assignee: Keith Wall
>             Fix For: 0.17
>
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Updated] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Keith Wall updated QPID-3980:
-----------------------------

    Fix Version/s: 0.17
    
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>             Fix For: 0.17
>
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Updated] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Philip Harvey updated QPID-3980:
--------------------------------

    Attachment: send-lvq-messages-without-a-consumer.json

This file can be used as distributed testing framework input (see QPID-3936) to expose the problem. 

Note that the memory usage on the broker and MessageCount on the queue keep increasing while the test is running.
                
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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


[jira] [Commented] (QPID-3980) Last value queue - entries replaced by conflation are never deleted, causing memory leak

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

Rob Godfrey commented on QPID-3980:
-----------------------------------

Change looks good to me
                
> Last value queue - entries replaced by conflation are never deleted, causing memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3980
>                 URL: https://issues.apache.org/jira/browse/QPID-3980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.16
>            Reporter: Philip Harvey
>         Attachments: send-lvq-messages-without-a-consumer.json
>
>
> This issue was uncovered while investigating QPID-3979. 
> The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is *not* occurring. 
> I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.
> Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

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

        

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