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

Improve audience list reliability #7889

Closed
Dhoot opened this issue Oct 19, 2021 · 1 comment
Closed

Improve audience list reliability #7889

Dhoot opened this issue Oct 19, 2021 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@Dhoot
Copy link
Contributor

Dhoot commented Oct 19, 2021

Problem

Currently, audience list is not reliable because we are using web-socket to maintain and pass-on information about newly connected client and recently disconnected client. But sometimes client miss these events, and we end-up with stale clients in the Audience list.

Possible Solution

To improve and handle this web-socket message drop issue we can use a simple Heartbeat / Ping-Pong kind of mechanism i.e. all connected clients will send ping message to all another client and every client will keeping last received ping time and in case of crossing threshold difference in time client will fetch a fresh Audience list to all connected from Redis.

@Dhoot Dhoot added the bug Something isn't working label Oct 19, 2021
@Dhoot Dhoot self-assigned this Oct 19, 2021
@Dhoot Dhoot linked a pull request Oct 19, 2021 that will close this issue
@vladsud
Copy link
Contributor

vladsud commented Feb 16, 2022

There are two reasons / angles where audience is not reliable:

  1. Lack of global order of signals and no guaranteed delivery of signals
  2. Potential reliability of redis

We are going to address #1 - this is tracked (for now) in internal document.

There should be no direct work required on client side to support new flow.
That said, I'll be opening other issues in related areas soon, namely when connected events fire relative to audience population.

@markfields - FYI

@vladsud vladsud closed this as completed Feb 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants