You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Charles E. Rolke (Jira)" <ji...@apache.org> on 2019/10/11 17:35:00 UTC
[jira] [Commented] (DISPATCH-975) Policy has no provision for
limiting user message size
[ https://issues.apache.org/jira/browse/DISPATCH-975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16949668#comment-16949668 ]
Charles E. Rolke commented on DISPATCH-975:
-------------------------------------------
h3. This proposal adds:
|| Vhost || ||
| maxSenderMessageSize | maximum message size in bytes users may send into the router network |
| maxReceiverMessageSize | maximum message size in bytes users may receive from the router network |
|| vhostUserGroupSettings || ||
| maxSenderMessageSize | optional override for Vhost maxSenderMessageSize |
| maxReceiverMessageSize | optional override for Vhost maxReceiverMessageSize |
|| vhostStats || ||
| maxSenderSizeDenied | number of ingress messages denied by max message size |
| maxReceiverSizeDenied | number of egress messages denied by max message size |
|| Policy || ||
| messageSizeDenied | count of ingress and egress denials due to message size exceeding max allowed |
h3. Other considerations
* Separate limits are specified for messages being injected into the router network and for messages being received from the router network.
* Interrouter connections are never subject to size limits.
* Connectors may specify a policyVhost to enforce the Vhost max message sizes
* What is the *size* of a message? An AMQP message may have seven sections only one of which is the user application data. If, say, one wishes to limit a user's payload strings to by 1,000 bytes then the policy max size must be somewhat larger to account for message overhead. Message overhead includes delivery- and message-annotations, message properties, application-properties, and the message footer. At a minimum about 50 (decimal) bytes of overhead are included in the message size calculation. These bytes are not part of the main message payload application data.
** There is no limit to the size of the message overhead sections. For this reason their content must be included in the max size limit equations.
** Note that message annotation bytes injected by qdrouterd to carry message routing information are *not* counted in the message size calculation.
h3. Implementation details
* Policy size checks will be enforced in qd_message_send and qd_message_receive
** When qd_message_receive detects a message coming in that is "too big" then outgoing copies of the message are aborted and the incoming message is set to 'discard'.
** When qd_message_send detects a message going out that is "too big" then it aborts the outgoing message the same was as if the incoming message had been aborted.
* Aborted outgoing messages may cut off the only destination for an incoming message. In that case the incoming message will set to 'discard'.
> Policy has no provision for limiting user message size
> ------------------------------------------------------
>
> Key: DISPATCH-975
> URL: https://issues.apache.org/jira/browse/DISPATCH-975
> Project: Qpid Dispatch
> Issue Type: Bug
> Reporter: Charles E. Rolke
> Assignee: Charles E. Rolke
> Priority: Major
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org