Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.OutOfMemoryError: GC overhead limit exceeded #26

Closed
wesyq opened this issue Nov 22, 2016 · 11 comments
Closed

java.lang.OutOfMemoryError: GC overhead limit exceeded #26

wesyq opened this issue Nov 22, 2016 · 11 comments

Comments

@wesyq
Copy link

wesyq commented Nov 22, 2016

Hi,

When converting come really large repos, when the count of objects reaches 400K-500K, I get this error:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceede
d
at sun.nio.cs.UTF_8.newDecoder(Unknown Source)
at org.eclipse.jgit.util.RawParseUtils.decode(RawParseUtils.java:1127)
at org.eclipse.jgit.util.RawParseUtils.decodeNoFallback(RawParseUtils.ja
va:1073)
at org.eclipse.jgit.util.RawParseUtils.decode(RawParseUtils.java:1033)
at org.eclipse.jgit.treewalk.TreeWalk.pathOf(TreeWalk.java:1291)
at org.eclipse.jgit.treewalk.AbstractTreeIterator.getEntryPathString(Abs
tractTreeIterator.java:462)
at git.lfs.migrate.GitConverter$4.getEntries(GitConverter.java:198)
at git.lfs.migrate.GitConverter$4.depends(GitConverter.java:221)
at git.lfs.migrate.Main.loadTaskGraph(Main.java:316)
at git.lfs.migrate.Main.processRepository(Main.java:166)
at git.lfs.migrate.Main.main(Main.java:86)

Disabling the GC overhead or using another GC algorithm gives the error about Heap size not enough. I keep increasing the heap size but I still keep getting it.

Thanks,
Waqas

@mmv
Copy link

mmv commented Dec 4, 2016

I'm also hitting this problem.
I tried throwing more hardware into the problem but it only gets delayed and I'm unable to convert my repository.

@bozaro
Copy link
Owner

bozaro commented Dec 7, 2016

You can increase memory limit for Java by -Xmx option.
For example:

java -Xmx1024m -jar build/deploy/git-lfs-migrate.jar -s source-repo.git -d target-repo.git -l http://test:test@lfs-server/ "*.psd" "*.zip" "*.bin"

@wesyq
Copy link
Author

wesyq commented Dec 7, 2016

I acutally did. Even increased it to 10 GB, but it didn't help!

@bozaro
Copy link
Owner

bozaro commented Dec 7, 2016

How big your original repository?

@wesyq
Copy link
Author

wesyq commented Dec 7, 2016

Just the mirror was above 9 GB insize, I think. Yeah quite a big repository imported from SVN.

@bozaro
Copy link
Owner

bozaro commented Dec 7, 2016

Can you attach full output and command line to this issue?

@wesyq
Copy link
Author

wesyq commented Dec 7, 2016

Actually I don't have that now. I deleted it as it was a while ago. I will try to recreate the error but cannot say exactly when!

@bozaro
Copy link
Owner

bozaro commented Dec 7, 2016

Looks like I reproduce this issue locally.

@wesyq wesyq closed this as completed Dec 7, 2016
@wesyq wesyq reopened this Dec 7, 2016
@wesyq
Copy link
Author

wesyq commented Dec 7, 2016

Sorry I closed the issue by mistake :)

@mmv
Copy link

mmv commented Dec 7, 2016

In my case I finally completed a conversion with -Xmx20g which actually requires 30GB of RAM to run because in Java8 there's a lot more going into RAM than the heap.

Regarding size of the repository, here's so you can have an idea of the numbers:

# Converted Repo

# Commit count
$ git log --all --pretty=oneline | wc -l
343626

# LFS objects produced
$ find lfs -type f | wc -l
261969

# Total disk size of LFS objects
$ du -sh lfs
130G    lfs

Original repo has a packed size of about 126 GB.

@bozaro bozaro closed this as completed in 974270d Dec 8, 2016
@bozaro
Copy link
Owner

bozaro commented Dec 9, 2016

I created issue #27: There are performance degradation on huge repositories (>250 000 objects).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants