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

Lack of timeout/retry + lost disposition = disaster #367

Open
BertKleewein opened this issue Sep 3, 2021 · 1 comment
Open

Lack of timeout/retry + lost disposition = disaster #367

BertKleewein opened this issue Sep 3, 2021 · 1 comment

Comments

@BertKleewein
Copy link

While hunting down a bug, I discovered that rhea does not handle lost dispositions very well. Because of how CircularBuffer in session.js is written, if a single disposition fails to arrive, Outgoing.deliveries will eventually fill up. As a result, somewhere down the line, about 2047 transfers later, the customer app will no longer be able to send.

I'm willing to work with you on a fix, but I'm really more of an MQTT guy, so I'm not sure what the right behavior should be.

@ra-dave
Copy link

ra-dave commented Jan 20, 2022

I think we are currently experiencing this issue with the Azure IoT Node.js SDK (which uses rhea) When using Edge runtime messages stop flowing to IoT Hub after 2047. Oddly though there is no problem if we connect directly to IoT Hub.

@BertKleewein Could you post the code snippet that you think the problem is? I'm guessing it's in session.js?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants