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
I would like to propose the addition of a liveness mechanism to the WatchDocument feature. The idea is to implement a check that if no events are received for a specific document within 1 minute, the client should re-establish the connection.
Currently, the server's long-lived connection faces a split-brain issue, causing disconnections every minute. By implementing this liveness mechanism, we can avoid unnecessary reconnections during collaborative editing scenarios, while still addressing the issue in situations where editing is done alone.
The proposed logic is that the client would implement a connection re-establishment counter (60 seconds). Upon receiving an event, this counter would reset. If the counter reaches zero, a reconnection will take place. Additionally, we could introduce a mechanism to adjust the counter based on recent events. For instance, if events have been consistently occurring, the counter could decrease, leading to quicker reconnections. Conversely, if events have not been received for some time, the counter could be adjusted to allow for longer intervals (exponential backoff) before reconnection, thus accommodating different editing scenarios.
Why:
This enhancement would provide a more efficient connection management process, reducing unnecessary disconnections during collaborative editing while still ensuring timely reconnections when needed. This could significantly improve the user experience in scenarios involving simultaneous edits as well as solitary edits.
The text was updated successfully, but these errors were encountered:
Description:
I would like to propose the addition of a liveness mechanism to the
WatchDocument
feature. The idea is to implement a check that if no events are received for a specific document within 1 minute, the client should re-establish the connection.Currently, the server's long-lived connection faces a split-brain issue, causing disconnections every minute. By implementing this liveness mechanism, we can avoid unnecessary reconnections during collaborative editing scenarios, while still addressing the issue in situations where editing is done alone.
The proposed logic is that the client would implement a connection re-establishment counter (60 seconds). Upon receiving an event, this counter would reset. If the counter reaches zero, a reconnection will take place. Additionally, we could introduce a mechanism to adjust the counter based on recent events. For instance, if events have been consistently occurring, the counter could decrease, leading to quicker reconnections. Conversely, if events have not been received for some time, the counter could be adjusted to allow for longer intervals (exponential backoff) before reconnection, thus accommodating different editing scenarios.
Why:
This enhancement would provide a more efficient connection management process, reducing unnecessary disconnections during collaborative editing while still ensuring timely reconnections when needed. This could significantly improve the user experience in scenarios involving simultaneous edits as well as solitary edits.
The text was updated successfully, but these errors were encountered: