Community
Participate
Working Groups
When the FS is somewhat slow (such as overlay fs in docker), the git commit maven plugin (using jgit) almost always produces the following warning: > [WARNING] locking FileBasedConfig[/root/.config/jgit/config] failed after 5 retries If mount the /root/.config to a host volume, the warning disappears.
What does "somewhat slow" mean?
$HOME is on a overlay fs in a docker container.
Yes, I got that. But what does slow mean? How much slower is the overlay FS than a direct mount of a host volume (Relative and absolute)? Say, for writing 2kB? What is the file timestamp resolution? The same or different?
Hi, after some testing, it can be reproduced that when the xdg config home is on a overlay2 volume in docker container, the `LockFile::commit` seems not work well, the ~/.config/jgit/config is not shown and the ~/.config/jgit/config.lock is left with correct snapshot content. Then the following run will failed to save config again.
another condition to reproduce: the git dir is on a host volume and the xdg config dir is on a overlayfs.
when run in docker, the `measureMinimalRacyInterval` is executed twice for .git dir and ~/.config/jgit/config. Each time `measureMinimalRacyInterval` method has to loop for a fixed 3 seconds. Then if the program run between 3 to 6 seconds, the JVM shut down while `measureMinimalRacyInterval(~/.config/jgit/config)` is still working, resulting the ~/.config/jgit/{config.lock, .probe-UUID} files not clean up. The left .probe-UUID is ok, just some 0~1 byte small files. But config.lock blocks the following executions.
can we add an api to `interrupt()` and `join()` the threads in FUTURE_RUNNER and SAVE_RUNNER? then we can cleanup the pending probe and lock files.
Gerrit change https://git.eclipse.org/r/c/jgit/jgit/+/192563 was merged to [master]. Commit: http://git.eclipse.org/c/jgit/jgit.git/commit/?id=88d5f51e61f7f90b4f760261f07c95d8dd3d7299
@Thomas to apply the patch to 5.x branch, need I create another Gerrit review based on branch stable-5.13? Or push to each branch with SAVE_RUNNER: stable-5.9, stable-5.10, stable-5.11, stable-5.12, stable-5.13, stable-6.0, stable-6.1, stable-6.2?
from the merging history in the repo, it seems that we only need to cherry-pick the patch to stable-5.9, is it correct?
New Gerrit change created: https://git.eclipse.org/r/c/jgit/jgit/+/193379
Gerrit change https://git.eclipse.org/r/c/jgit/jgit/+/193379 was merged to [stable-5.13]. Commit: http://git.eclipse.org/c/jgit/jgit.git/commit/?id=d67ac798f10254d038c49244e7f1e2323afdfdfc