[
https://issues.apache.org/jira/browse/PROTON-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18103780#comment-18103780
]
Andrew Stitcher edited comment on PROTON-2952 at 8/11/26 5:36 PM:
------------------------------------------------------------------
If the application is expecting a message with a limited length and waits for
the end of the delivery to fetch the whole message there is no limit to how
long that message sent by the peer can be up to using all available memory.
This is what common message oriented APIs do so these applications can be
overwhelmed!
For streaming application where there is no fixed length to the delivery and
the receiving application receives parts of the overall delivery before the
delivery is completed.
These constraints mean that we can't limit overall message size but can only
limit the amount of memory being used for buffering unread parts of the message.
was (Author: astitcher):
If the application is expecting a message with a limited length and waits for
the end of the delivery to fetch the whole message there is no limit to how
long that message sent by the peer can be up to using all available memory.
This is what common message oriented APIs do so these applications can be
overwhelmed!
For streaming application where there is no fixed length to the delivery and
the receiving application receives parts of the overall delivery before the
delivery is completed.
These constraints mean that we can't limited overall message size but can only
limit the amount of memory being used for buffering unread parts of the message.
> Multi transfer message deliveries can consume indefinite memory
> ---------------------------------------------------------------
>
> Key: PROTON-2952
> URL: https://issues.apache.org/jira/browse/PROTON-2952
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: proton-c-0.40.0
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Major
> Fix For: proton-c-0.41.0
>
>
> Proton currently has no limit to the amount of buffered memory that can be
> used for a message delivery. This is because deliveries have no limit to the
> number of transfer performatives that make them up and there's no way to know
> how many more frames there might be in the delivery, so proton will buffer
> every message byte in a delivery until it is used.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]