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

5414 reconnect subscriptions #5501

Merged
merged 2 commits into from
May 17, 2024

Conversation

niloc132
Copy link
Member

DHC reconnects are able to restore server streams to an existing session, but most of the JS API was written to assume that a lost connection requires rebuilding objects on the server by replaying operations. This fix handles cases where a table failed and then a network error occurred, causing the table to be stuck unable to reconnect, since the table has failed.

Two bugs prevented this from working, both cases where after some operation couldn't be scheduled, a microtask would immediately try again, leading effectively to an infinite loop in the browser. Table subscriptions are fixed by first checking if the table is running, so can be subscribed, and table refetch is fixed by using null for its fetcher, and during refetch if the fetcher is null either fail right away with the existing fail message, or succeed right away.

This fix currently makes it possible for a failed table on a reconnected worker to not signal that it is still failed - this will be addressed in a follow-up.

Fixes #5414

@niloc132 niloc132 added this to the 3. May 2024 milestone May 16, 2024
@niloc132 niloc132 requested a review from mofojed May 16, 2024 21:38
@niloc132 niloc132 merged commit 7b94582 into deephaven:main May 17, 2024
21 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators May 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

UI causes browser to run the system out of memory
2 participants