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