-
Notifications
You must be signed in to change notification settings - Fork 18
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
Revise caching strategy #8
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: johnbelamaric The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/hold This will pass the Porch E2E tests, but seems to still have some issues that need fixing. I need to create some new E2E tests that will fail due to those issues, and debug this before we merge it. |
89b289f
to
04bd2ae
Compare
Hi @johnbelamaric |
/retest |
/test all |
Umm. I don't remember the details from back in December. Our TNA team identified some issues in their testing so we backed this change out. @tliron can you reach out to the team and they can perhaps provide some insight? |
This PR introduces a separate mutex for reconciling the cache, which does not block reads. Therefore reads can proceed even if there is a reconcile ongoing as long as the reconcile is not actually updating the cache or the repo. It also consolidates the cache recnciliation into a new method, which does a 3-way reconciliation against the cache, what's in the CRDs in etc and what's in Git. The implementation in this PR was merged manually into the current main and the performance of Porch with this PR compared with the current main is shown on the plot below. The change introduced in #129 increases the performance of Porch much more so than this PR does. Therefore I suggest we close this PR. #135 is a manual rebase of this PR against the current main branch. |
This contains the changes from kptdev/kpt#4094.
It needs more e2e tests though before merging.