get file store attr async to improve jgit startup performance #8
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.
Let jgit calculate the file store attr async. In container environment, especially when .git dir and ~/.config/jgit locate on different volumes, jgit have to wait 3 seconds to fetch the file store attr before collect git repo info, and another 3 seconds in saver thread to write the attr into ~/.config/jgit.
In sync way, when we execute some short maven goals, such as
mvn validate
, the total time is less than 6 seconds, then maven exits with a dirty state in ~/.config/jgit, theconfig.lock
and.probe-<UUID>
file left there. After that the jgit will always fail to read or write to the default config file. With this pr, we can almost avoid this dirty state.A releated jgit issue is here https://bugs.eclipse.org/bugs/show_bug.cgi?id=579445
Context
Contributor Checklist
mvn clean package
checkstyle
coding style definition:mvn clean verify -Pcheckstyle -Dmaven.test.skip=true -B