get file store attr async to improve jgit startup performance by gzm55 · Pull Request #8 · git-commit-id/git-commit-id-plugin-core

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, the config.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

  • Added relevant integration or unit tests to verify the changes
  • Update the Readme or any other documentation (including relevant Javadoc)
  • Ensured that tests pass locally: mvn clean package
  • Ensured that the code meets the current checkstyle coding style definition: mvn clean verify -Pcheckstyle -Dmaven.test.skip=true -B