Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Optimizing reading from datastore during WorkflowSweeper#sweep #3816

Merged
merged 4 commits into from Nov 13, 2023

Conversation

wildMythicWest
Copy link
Contributor

@wildMythicWest wildMythicWest commented Oct 18, 2023

Pull Request type

  • Bugfix/Optimization
  • Refactoring (no functional changes, no api changes)

Changes in this PR

Added a dependency to executorDaoFacade in WorkflowSweeper.
Added overloaded method in WorkflowRepairService - verifyAndRepairWorkflowTasks(WorkflowModel workflow)
Added overloaded method in WorkflowExecutor - decideWithLock(WorkflowModel workflow)
WorkflowSweeper now calls executorDaoFacade to get the workflow once and then passes is to the overloaded methods.

Describe the new behavior from this PR, and why it's needed
The new behaviour reduces the stress on the datastore during heavy loads. We have observed absurd loads on our redis instance comming from constant sweeping from the workflowSweeper ( more than 10GBps )

@wildMythicWest
Copy link
Contributor Author

🥺 please review

@wildMythicWest
Copy link
Contributor Author

Started a discussion to give a bit more details for this change - #3841

@v1r3n v1r3n merged commit 9669d46 into Netflix:main Nov 13, 2023
2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants