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

Connectivity eventing improvements #7884

Closed
Tracked by #7995
vladsud opened this issue Oct 18, 2021 · 6 comments · Fixed by #9377
Closed
Tracked by #7995

Connectivity eventing improvements #7884

vladsud opened this issue Oct 18, 2021 · 6 comments · Fixed by #9377
Assignees
Labels
ado Issue is tracked in the internal Azure DevOps backlog api area: loader Loader related issues
Milestone

Comments

@vladsud
Copy link
Contributor

vladsud commented Oct 18, 2021

Per https://office.visualstudio.com/OC/_workitems/edit/5489692?src=WorkItemMention&src-action=artifact_link, we need to

  • expose "connect" event from Container, to allow hosts to know when connection has been established (and stop showing disconnected banner).
  • Change when "connected" event is raised for "read" connections - make it fire only when container is up-to-date (based on what we know, i.e. checkpointSequenceNumber, maybe storage call coming back)
    • This will ensure that transition from "read" to "write" connection will not suddenly make container not up-to-date.
@vladsud vladsud added the bug Something isn't working label Oct 18, 2021
@vladsud vladsud added this to the November 2021 milestone Oct 18, 2021
@vladsud vladsud self-assigned this Oct 18, 2021
@vladsud
Copy link
Contributor Author

vladsud commented Oct 25, 2021

@markfields - Curtis suggested assigning it to you
We can use waitContainerToCatchUp() for delaying raising "connected" event for "read" connections.

Here are two big considerations (outside of actual logic changes):

  1. This will change timing of "connected" events as observed by hosts. They will report "regression". We need to work with them upfront to ensure they are aware of these changes and why things will change.
  2. We will need to ensure that host / sharedUX has better handling for these events, including changes in UX itself. My expectation that they will use new "connect" event for today's yellow disconnected banner, but will have another banner if connecting -> connected transition takes long that will say "catching up" or something of that line, but that is clear to the users that their changes are not being saved to service yet.
  3. I do not know if we want to do it in the same round, but I find naming (especially on Container misleading). The underlying semantics and what names project are not one and the same and some renaming is required in the vein:
    • Connecting, connect -> (socket) connected
    • connected -> caught up, saving changes

@vladsud vladsud assigned markfields and unassigned vladsud Oct 25, 2021
@vladsud
Copy link
Contributor Author

vladsud commented Oct 25, 2021

See old threads on same subject: #1839
Note that we do have checkpointSequenceNumber that we did not have before (when that issue was opened) to indicate roughly how far client is behind. That said, R11s does not supply it today - code works the same, but it will not wait for catch up (i.e. after proposed above changes, behavior for R11s will not change, and r11s / FRS will need to consider providing that info to improve user experience).

@markfields markfields changed the title Connectivity evening improvements Connectivity eventing improvements Oct 25, 2021
@markfields markfields added bug Something isn't working and removed bug Something isn't working labels Oct 26, 2021
@markfields
Copy link
Member

Moving to Jan due to my constraints in Dec with OCE and holidays. On my mind though as I'm working with Office Fluid team on connection API/health metrics.

@markfields markfields modified the milestones: December 2021, January 2022 Dec 6, 2021
@markfields
Copy link
Member

Unless this is directly related to recent problems with visual op replay, I'd like to move to Feb. @vladsud let's discuss next week.

@markfields
Copy link
Member

I'm gearing up to work on the parent epic #7995 in March, moving this hear for now to get incorporated into that planning.

@markfields markfields modified the milestones: February 2022, March 2022 Feb 22, 2022
@markfields markfields added api and removed bug Something isn't working labels Feb 22, 2022
@markfields markfields added the area: loader Loader related issues label Mar 18, 2022
@anthony-murphy anthony-murphy removed this from the March 2022 milestone Apr 4, 2022
@anthony-murphy anthony-murphy added this to the April 2022 milestone Apr 4, 2022
@vladsud vladsud modified the milestones: April 2022, May 2022 May 16, 2022
@markfields
Copy link
Member

markfields commented May 28, 2022

Tracking via AB#144

@curtisman curtisman added the ado Issue is tracked in the internal Azure DevOps backlog label Jun 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ado Issue is tracked in the internal Azure DevOps backlog api area: loader Loader related issues
Projects
None yet
4 participants