You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 4, 2025. It is now read-only.
I'm using DOG for a project where users connect via websockets and are grouped into "namespaces". All traffic sent from one user in a namespace is sent to all other users. In general this works fine, both with a single Replica and with users spread across multiple Replicas through the use of "gossip".
Eventually, however, if a user in a namespace disconnects and reconnects or a new user connects, they seemingly end up on a totally separate cluster, isolated from other users. As other users disconnect/reconnect, they'll also end up in this new cluster. There's only one Group with a constant key. It is unfortunately not easy to reproduce, but has happened many times.
A user on the Cloudflare Developers Discord suggested that this may be because DOG doesn't persist the Group's list of Replicas. So, if something were to cause the Group to reinitialize, it would have no knowledge of the previous set of Replicas, even though users are still connected to them. This seems to align with what I'm seeing, but I'm not sure how to fully verify because I'm not sure what causes the Group to restart/reinitialize.
I'm using DOG for a project where users connect via websockets and are grouped into "namespaces". All traffic sent from one user in a namespace is sent to all other users. In general this works fine, both with a single Replica and with users spread across multiple Replicas through the use of "gossip".
Eventually, however, if a user in a namespace disconnects and reconnects or a new user connects, they seemingly end up on a totally separate cluster, isolated from other users. As other users disconnect/reconnect, they'll also end up in this new cluster. There's only one Group with a constant key. It is unfortunately not easy to reproduce, but has happened many times.
A user on the Cloudflare Developers Discord suggested that this may be because DOG doesn't persist the Group's list of Replicas. So, if something were to cause the Group to reinitialize, it would have no knowledge of the previous set of Replicas, even though users are still connected to them. This seems to align with what I'm seeing, but I'm not sure how to fully verify because I'm not sure what causes the Group to restart/reinitialize.