TheThingsNetwork / lorawan-stack

The Things Stack, an Open Source LoRaWAN Network Server
https://www.thethingsindustries.com/stack/
Apache License 2.0
932 stars 302 forks source link

Retry failed confirmed downlinks #3642

Open rvolosatovs opened 3 years ago

rvolosatovs commented 3 years ago

Summary

Retry failed confirmed downlinks

Why do we need this?

To ensure same behavior as v2 and make customers happy

What is already there? What do you see now?

No retry

What is missing? What do you want to see?

Retry mechanism for failed downlinks

How do you propose to implement this?

If ack is not received in uplink, prepend the downlink to the queue by default.

How do you propose to test this?

integration testing

Can you do this yourself and submit a Pull Request?

yes

virtualguy commented 3 years ago

Any chance this is going to squeeze into an upcoming 3.12.x release? I somehow completely missed the difference in behaviour from v2 to v3 and having to replace and rebuild the entire queue when a DownlinkNack happens is a huge pain. The intention was to use a confirmed downlink to ensure message ordering

jpmeijers commented 2 years ago

From what I see the current behaviour is to indefinitely retry confirmed downlinks, causing headaches for people with devices that do not acknowledge these downlinks. See https://github.com/TheThingsNetwork/lorawan-stack/issues/4289