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

Lorenz Quack updated QPID-7394:
-------------------------------
    Description: 
When the application calls {{Session#receive()}}, the client will automatically 
open the prefetch window by 1 message if necessary (QPID-6088).    On 
committing the received message, the client takes care to revert the prefetch 
level back to the session's default value.   However, if the application calls 
rollback, the client fails to account for the increased credit, so when the 
application calls #receive again, the prefetch window will be opened further.

If the downstream application experiences some kind of failure meaning it rolls 
back every message, this could potentially lead to the prefetch buffer growing 
large.  If the queue is deep, this could cause excessive network utilisation 
(as large numbers of messages are continually received/rejected) and excessive 
memory use on the client.

-This defect also allows a Broker defect to manifest - QPID-7387.-

  was:
When the application calls {{Session#receive()}}, the client will automatically 
open the prefetch window by 1 message if necessary (QPID-6088).    On 
committing the received message, the client takes care to revert the prefetch 
level back to the session's default value.   However, if the application calls 
rollback, the client fails to account for the increased credit, so when the 
application calls #receive again, the prefetch window will be opened further.

If the downstream application experiences some kind of failure meaning it rolls 
back every message, this could potentially lead to the prefetch buffer growing 
large.  If the queue is deep, this could cause excessive network utilisation 
(as large numbers of messages are continually received/rejected) and excessive 
memory use on the client.

This defect also allows a Broker defect to manifest - QPID-7387.


> [0-8..0-91] Prefetch accounting incorrect when message rolled back
> ------------------------------------------------------------------
>
>                 Key: QPID-7394
>                 URL: https://issues.apache.org/jira/browse/QPID-7394
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.32, qpid-java-6.0, qpid-java-6.0.4
>            Reporter: Keith Wall
>             Fix For: qpid-java-6.1
>
>         Attachments: 
> 0001-QPID-7394-Java-Client-0-8.0-91-Prevent-the-client-fr.patch
>
>
> When the application calls {{Session#receive()}}, the client will 
> automatically open the prefetch window by 1 message if necessary (QPID-6088). 
>    On committing the received message, the client takes care to revert the 
> prefetch level back to the session's default value.   However, if the 
> application calls rollback, the client fails to account for the increased 
> credit, so when the application calls #receive again, the prefetch window 
> will be opened further.
> If the downstream application experiences some kind of failure meaning it 
> rolls back every message, this could potentially lead to the prefetch buffer 
> growing large.  If the queue is deep, this could cause excessive network 
> utilisation (as large numbers of messages are continually received/rejected) 
> and excessive memory use on the client.
> -This defect also allows a Broker defect to manifest - QPID-7387.-



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to