-
Notifications
You must be signed in to change notification settings - Fork 49
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
Extremely slow archiving when changing between archiver 3.0.1 and 3.0.2 #105
Comments
I would suspect that there is some higher level change that is causing excessive reading of file attributes. So while this operation adds I/O it should be a very minor hit. You might also want to inspect the produced jar file to see that it does not contain surprising elements. I might suggest that you try all the archiver releases between 2.9 and 3.1.1 to see if it s possible to pinpoint whats causing it. |
Sadly maven plugins aren't using any versions between 2.9 and 3.1.1. |
The produced jar looks exactly the same. No massive amount of files |
Ive made a test with https://github.com/ThomasJaspers/java-junit-sample project.
with new versions of maven plugins I get:
[INFO] Building jar: /test-project/target/my-app-1.0-SNAPSHOT-sources.jar and with old:
[INFO] ------------------------------------------------------------------------ |
Also some more input using maven-profiler:
|
Now on second thought I don't think they are related. |
I took a look at the example you provide but I cannot reproduce it. As a matter of fact on my system I see the opposite. The newer versions of the plugins are performing faster - about 28.8s vs about 29.5s in favor of the newer versions. Can you share more details about your system - OS, Java version, file system, etc |
It's RedHat 7 on a Virtual machine using Java 1.8.0_131-jce. |
Seems its not present on Ubuntu 16.04 with same java version. Though disk on Ubuntu machine is local nvme and ext4. |
If I do an strace -f -e open mvn package -Dmaven.test.skip=true I see a LOT more Ive found out that /etc/group are handled in some other way on this RedHat setup. I think it does some lookups remote. And this makes it really slow with the new maven plugins which tends to access /etc/group more often Why has the read of /etc/group increased this much? |
@Classe You can override the version of plexus archiver used within the plugin by adding it as a dependency to the plugin. @plamentotev Judging from memory, I seem to remember that there was some extremely subtle difference between the assumed duplicated files in #90. I would not write that off too quickly :) |
Okay I nailed it down it happened between 3.0.1 and 3.0.2 |
@Classe would you please try to override plexus-archiver to 3.0.2 , org.codehaus.plexus:plexus-utils to 3.0.20 , org.codehaus.plexus:plexus-io to 2.6 and org.apache.commons:commons-compress to 1.9 . It is a long shot but I want to make sure that is not some of the dependencies that is the root cause, |
codehaus-plexus/plexus-io@plexus-io-2.6...codehaus-plexus:plexus-io-2.6.1 |
A guess is this change: |
Should I write defect in plexus-io and ref to this defect? |
That would be nice, thank you. And nice find about the code that causes the
issue.
…On Fri, Nov 16, 2018, 13:55 Classe ***@***.*** wrote:
Should I write defect in plexus-io and ref to this defect?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#105 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMLobTgY0BIav8J1Jj9Wkeq-5woH3UbMks5uvqe4gaJpZM4YdOGf>
.
|
@plamentotev Could you up to next plexus-io version? |
@Classe I plan to do a release this week. I'll update the plexus-io version as well. |
When switching to 3.x versions of maven-jar-plugin, maven-javadoc-plugin and maven-source-plugin. Generating jars become very slow, in current project its going from <10min build time to 3.5hours instead.
What I can see has changed is the plexus-archiver.
maven-jar-plugin: 2.9 to 3.1.1
maven-javadoc-plugin 2.5 to 3.6.0
maven-source-plugin 2.5 to 3.6.0
While doing a stackdump during jar or javadoc it seems to take up a lot of time in the plexus-archiver.
Stacktrace of where its spending a lot of time:
The text was updated successfully, but these errors were encountered: