Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

broker: limit total queued messages, not just per client #100

Open
ralight opened this issue Mar 15, 2016 · 0 comments
Open

broker: limit total queued messages, not just per client #100

ralight opened this issue Mar 15, 2016 · 0 comments
Labels
Component: mosquitto-broker Type: Enhancement A new feature for a minor or major release.

Comments

@ralight
Copy link
Contributor

ralight commented Mar 15, 2016

migrated from Bugzilla #452919
status NEW severity normal in component Mosquitto for ---
Reported in version unspecified on platform PC
Assigned to: Roger Light

On 2014-11-23 16:42:59 -0500, Roger Light wrote:

(imported from launchpad)

Currently (1.1.x) mosquitto broker allows configuration of the maximum number of outstanding messages that are queued per client. For resource constrained systems, this is not really good enough, as there's no way to limit the number of clients. Further, there's no way to control the size of messages. (500 queued 2 byte messages are pretty cheap, 500 queued 1meg messages are not at all cheap)

Ideally, we would be able to limit the total amount of memory used for storing queued messages.
Alternatively, or even better for some users perhaps, would be to limit the total number of messages for the entire broker, not just the number of messages per client.

@ralight ralight added Type: Enhancement A new feature for a minor or major release. and removed Type: Bug labels Jun 7, 2016
karlp added a commit to etactica/mosquitto that referenced this issue Jun 29, 2016
TODO: inflight bytes?
TODO: queue_qos0_messages still looks flaky...
TODO: review fixmes?

Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jun 30, 2016
TODO: queue_qos0_messages still looks flaky...

Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 1, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 1, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 1, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 1, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 6, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Jul 6, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Aug 17, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
karlp added a commit to etactica/mosquitto that referenced this issue Sep 9, 2016
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) eclipse#100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <[email protected]>
@karlp karlp mentioned this issue Jul 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: mosquitto-broker Type: Enhancement A new feature for a minor or major release.
Projects
None yet
Development

No branches or pull requests

1 participant