[ 
https://issues.apache.org/jira/browse/QPID-3604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13183053#comment-13183053
 ] 

[email protected] commented on QPID-3604:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2832/
-----------------------------------------------------------

(Updated 2012-01-10 03:52:44.305560)


Review request for qpid, Gordon Sim, Robbie Gemmell, Weston Price, and 
Oleksandr Rudyy.


Summary
-------

This attempts to fix one of the issues related to the handling of Message 
credits. See QPID-3602 for an overall picture of the various issues.

This particular patch does the following.
1. When the connection is stopped, it sends message.stop() & releases all 
messages in the prefetch buffer.
2. It will also release any messages (that were in flight) that comes after the 
connection is stopped. (*)

(*) This interferes with the immediate_prefetch feature. However I don't know 
if immediate prefetch is really required in the 0-10 path.

As always comments, suggestions & criticisms are equally welcomed.


This addresses bug QPID-3604.
    https://issues.apache.org/jira/browse/QPID-3604


Diffs (updated)
-----

  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 1229466 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
 1229466 
  
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/prefetch/PrefetchBehaviourTest.java
 1229466 

Diff: https://reviews.apache.org/r/2832/diff


Testing
-------

See PrefetchBehaviourTest#testConnectionStop for more details.


Thanks,

rajith


                
> If the connection is stopped the client should release all it's messages in 
> the prefetch buffer
> -----------------------------------------------------------------------------------------------
>
>                 Key: QPID-3604
>                 URL: https://issues.apache.org/jira/browse/QPID-3604
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.14
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: 0.15
>
>
> When connection.stop() is called, the JMS client should release all it's 
> messages in the prefetch buffer.
> For all we know, the connection may never be started (depending on 
> application logic) and those messages will be stuck on the prefetch buffer. 
> Releasing it will allow another consumer to get them (in the case of a shared 
> queue case).
> Another less severe but nevertheless an undesirable side affect of this is 
> the client getting more messages than required by the capacity or prefetch 
> arguments. See QPID-3602
> This may not be a big issue if the client is prefetching a few messages, but 
> if prefetching something like 5000 messages, this could potentially cause a 
> lethal spike in the clients memory usage.
> Even in low capacity/prefetch values, if the messages are large (say in the 
> mega byte range) this could potentially put the client under memory pressure.

--
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:[email protected]

Reply via email to