Azure / Azure/azure-webpubsub

Missing pubsub messages between client disconnect and reconnect

Open
#198 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
147
Forks
96
Avg merge
19h 28m
Merged PRs (30d)
87

Description

We are using Azure web pubsub to push events realtime to devices. The client connects to the websocket url and the server pushes event messages to clients through pubsub using azure pubsub python sdk. We found that the pubsub resends unsent event messages to clients and sometimes it does not.

There are two scenarios:

* When the device stays unlocked.

When the client app disconnects and reconnects after sometime, the pubsub resends the missing event messages from server during this time. The unsent event messages are even resent to client app when it goes to background and comes to
foreground(reconnects to pubsub) after 1 hour!

* When the device is locked and unlocked in between

The problem occurs when the device is locked. When its locked we found that the websocket connection gets immediately
disconnected and when the screen is unlocked, the client app does not get the unsent event messages during this period.
The client app, though, keeps on getting the new messages after the device is unlocked.

We want to understand the working of pubsub's retry mechanism in case of unsent event messages and its guarantees. We could not find any documentation related to this in the microsoft docs.

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository files, tests, or entry points are named. Start with the linked Microsoft Q&A and compare its locked-device and ordinary-disconnect scenarios with the issue description; done means documenting the retry behavior and delivery guarantees for unsent messages, or clearly recording what is not guaranteed.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
cloud, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.