This repository was archived by the owner on May 23, 2023. It is now read-only.
Enable multi_ack and multi_ack_detailed capabilities#4
Merged
Conversation
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
285d8c0 to
dcf3dce
Compare
aryan9600
approved these changes
Oct 19, 2022
Member
aryan9600
left a comment
There was a problem hiding this comment.
lgtm! 🚀
we should probably change the PR title to something like Enable multiack capability?
multi_ack and multi_ack_detailed capability
multi_ack and multi_ack_detailed capabilitymulti_ack and multi_ack_detailed capabilities
This was referenced Oct 20, 2022
|
Can we look at Gitea as well? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Enabling
multi_ackandmulti_ack_detailedallows the use ofgo-gitagainst Azure DevOps.Those capabilities are not fully implemented, however they have no impact for "fresh new fetches", which are the primary use case for Flux.
fetch/pulloperations against Azure DevOps will result in:This change was tested against a range of Git Service Providers to ensure no regression was being introduced.
Note that the tests were completed on the scope of Source and Image Automation Controllers, which only use a subset of the Git features implemented by
go-git.The blue line in the graph below represents

rate(go_memstats_alloc_bytes_total{app="source-controller"}[$__rate_interval])and shows a stable memory profile throughout the 6h. The same has been observed since the beginning of the tests (+19h).For the purposes of the tests, all the repositories had their
spec.gitImplementationset togo-git, the controller has its libgit2 managed transport disabled andOptimizedGitClones=false. The controller was set to have 40 workers to quickly iterate through the 35 GitRepository objects. Most target sources have at least one large file (~100mb). The reconciliation intervals are set to30s, forcing the reconciliations to be overlapping every so often.Additional memory and GC related settings:
For completeness, an additional graph without

go_memstats_alloc_bytes_totalso it is easier to track GC duration and goroutine numbers: