fix(git): Reduce concurrency to avoid lock file conflicts. #6511
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.
This PR should resolve #5074 (or at the very list make the likelyhood of it occurring much less).
The underlying simple-git library defaults maxConcurrentProcesses to 5. This creates problems when multiple tasks run needing to acquire the git lock file (add, commit, etc..).
By changing this value to 1, simple-git will now manage the queue of commands internally, running one at a time.
Before this change, i could upload 3 ~800kb jpgs and almost 100% of the time get a git error on 2 of the git add steps. This would eventually then lead to a git syncing error with the storage module.
Post this change, I could no longer reproduce the error.
There is likely a side effect of git actions take a bit longer on startup and if multiple page saves are happening simultaneously. Those tend to happen asynchronously in my observation so an end user likely wont see this slight slow down.