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

Client re-enqueue a packet that causes PAYLOAD_LIMIT_EXCEEDED disconnect event. #535

Open
chapost1 opened this issue Oct 16, 2024 · 1 comment
Labels
bug This issue is a bug. p3 This is a minor priority issue response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 2 days.

Comments

@chapost1
Copy link

Describe the bug

Client keeps retrying publish message (re-enqueue) post disconnect, which it's cause is PAYLOAD_LIMIT_EXCEEDED.
which cause infinite connect/disconnect events.

Expected Behavior

Result with a puback that indicates a failure and not re-enqueue the message as it's payload won't shrink.

Current Behavior

  1. Client attempts to publish a message with payload larger than AWS max payload size.
  2. Client disconnects.
  3. Client re-connects.
  4. Client re-enqueue packet, and try to send it.
  5. Client disconnects.
  6. Client re-connects.
  7. Client re-enqueue packet, and try to send it.
  8. ...

No PUBACK response for the publish method.

Reproduction Steps

Just create a client instance that connects post disconnect events, and attempt to publish a message with payload larger than allowed size.

Possible Solution

Not sure if feasible, because if no puback is returned, then maybe it's on the iot-core service side also, but I think the solution should behave with resulting with failure puback or at least not re-enqueue as it will not be resolved by itself.

Additional Information/Context

No response

SDK version used

1.20.0

Environment details (OS name and version, etc.)

ubuntu:22.04

@chapost1 chapost1 added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Oct 16, 2024
@jmklix
Copy link
Member

jmklix commented Oct 16, 2024

Can you try using the MQTT5 client? It will handle the PAYLOAD_LIMIT_EXCEEDED, because part of the updated protocol included the server communicating that the payload limit is.

@jmklix jmklix added response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 2 days. p3 This is a minor priority issue and removed needs-triage This issue or PR still needs to be triaged. labels Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug. p3 This is a minor priority issue response-requested Waiting on additional info and feedback. Will move to "closing-soon" in 2 days.
Projects
None yet
Development

No branches or pull requests

2 participants