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

Introduce Completed flow status #2274

Merged
merged 2 commits into from
Nov 20, 2024
Merged

Conversation

Amogh-Bharadwaj
Copy link
Contributor

Introduces a new flow state - Completed
Currently this is the state for an initial load only mirror which has finished initial load

Functionally tested

@heavycrystal
Copy link
Contributor

we already have a Terminated state that is mostly unused (currently an input to FlowStateChange and it drops the flow), can reuse that?

@Amogh-Bharadwaj Amogh-Bharadwaj force-pushed the initial-load-completed-status branch from 8e8afc3 to 0752f71 Compare November 20, 2024 20:39
@Amogh-Bharadwaj
Copy link
Contributor Author

we already have a Terminated state that is mostly unused (currently an input to FlowStateChange and it drops the flow), can reuse that?

Good question, I would say no because:

  1. These statuses are important for user interfaces, and Completed and Terminated are semantically different: terminated has negative semantics vs completed which is positive. Showing finished initial load mirrors as terminated is misleading to end users and gives the impression that no action be done on the mirror, but in fact:

  2. Finished initial load only mirrors can be resynced or dropped - which involves sending the status as terminated so I believe drop mirror as part of the resync would fail, or even if not, it seems more correct to say "drop a completed mirror" versus "drop a dropped mirror"

cc @serprex @iskakaushik

@heavycrystal
Copy link
Contributor

we already have a Terminated state that is mostly unused (currently an input to FlowStateChange and it drops the flow), can reuse that?

Good question, I would say no because:

1. These statuses are important for user interfaces, and `Completed` and `Terminated` are semantically different: terminated has negative semantics vs completed which is positive. Showing finished initial load mirrors as terminated is misleading to end users and gives the impression that no action be done on the mirror, but in fact:

2. Finished initial load only mirrors can be resynced or dropped - which involves sending the status as terminated so I believe drop mirror as part of the resync would fail, or even if not, it seems more correct to say "drop a completed mirror" versus "drop a dropped mirror"

cc @serprex @iskakaushik

  1. status can be remapped by UI to show completed; don't think that would be a concern
  2. This is probably a bigger question; but allowing an initial load only mirror to be resynced is interesting. Anyway, there's some confusion with statuses being used both as input to a function and as a display so I think we can land this new status

@Amogh-Bharadwaj Amogh-Bharadwaj merged commit b8e55ea into main Nov 20, 2024
15 checks passed
@Amogh-Bharadwaj Amogh-Bharadwaj deleted the initial-load-completed-status branch November 20, 2024 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants