This repository was archived by the owner on May 26, 2023. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What was changed:
Workflows page: takes a different approach on how ALL view works.
Before:
Per one page of workflows, it was fetching both Open and Closed workflows and then making additional fetch, either open or closed, to account for the startTime time difference
Now:
Per one page of workflows, it fetches ONLY Open or Closed workflows, depending on which one is behind in startTime.
This results in much better predictability and stability, as in this approach we don't have to manually change the time range of workflows to fetch for syncing reasons. When scrolling and fetching more pages, the ordering is maintained because we only fetch the type of workflows that is behind
Why?
Improves stability of ALL view. Before there were few corner case that would break fetching mechanism
Checklist
Closes issue:
How was this tested:
Mostly manually to verify the ordering of Open/Closed fetches
To create sample data, you can take the helloworld example from here and do the below modifications https://github.com/temporalio/samples-go/tree/master/helloworld
Executing starter/main.go will create 20 workflows:
keep
argument makes the workflow remain Open for 10 minutes if set totrue
, or otherwise the workflows will be quickly Close.Namespace: "default"
to another namespace for testing with a new set of data/runsTesting:
keep
flag set to trueexpected: on Web UI ALL workflows view you
expected: the fetching stops as the oldest workflows are fetched
expected: ALL view starts starts all over without issues
Modified helloworld sample code:
hellloworld/starter/main.go :
helloworld.go :
No