[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] jgit push on http perpetually running gc before push after jgit gc

On Tue, Mar 19, 2019 at 7:08 AM Matthias Sohn <matthias.sohn@xxxxxxxxx> wrote:
> I'll look into the details why this has such a large effect on push performance.

Any luck on the investigation? Using the singlePack seems to work as
it should, however now our logs show these every couple of hours:

ERROR [org.eclipse.jgit.internal.storage.file.ObjectDirectory]
[JGit-WorkQueue] ERROR: Exception caught while accessing pack file
/mnt/.../.git/objects/pack/pack-90da7ac33408b39e6df34da8939ff6f3a681d026.pack,
the pack file might be corrupt, {1}. Caught {2} consecutive errors
while trying to read this pack.
java.io.IOException java.io.IOException: Unreadable pack index:
/mnt/...git/objects/pack/pack-90da7ac33408b39e6df34da8939ff6f3a681d026.idx
at org.eclipse.jgit.internal.storage.file.PackIndex.open(PackIndex.java:102)
at org.eclipse.jgit.internal.storage.file.PackFile.idx(PackFile.java:183)
at org.eclipse.jgit.internal.storage.file.PackFile.get(PackFile.java:284)
at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedObject(ObjectDirectory.java:486)
at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedFromSelfOrAlternate(ObjectDirectory.java:444)
at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject(ObjectDirectory.java:435)
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:165)
at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:236)
at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:890)
at org.eclipse.jgit.revwalk.RevWalk.parseTree(RevWalk.java:828)
at org.eclipse.jgit.internal.storage.file.GC.listNonHEADIndexObjects(GC.java:1103)
at org.eclipse.jgit.internal.storage.file.GC.repack(GC.java:816)
at org.eclipse.jgit.internal.storage.file.GC.doGc(GC.java:300)
at org.eclipse.jgit.internal.storage.file.GC.lambda$0(GC.java:261)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.FileNotFoundException:
/mnt/.../.git/objects/pack/pack-90da7ac33408b39e6df34da8939ff6f3a681d026.idx
(No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at org.eclipse.jgit.util.io.SilentFileInputStream.<init>(SilentFileInputStream.java:64)
at org.eclipse.jgit.internal.storage.file.PackIndex.open(PackIndex.java:98)
... 19 more

We see those only since we set pack.singlePack=true, and we get 20-30
at a time with different index filenames each time.