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
PHOENIX-6193 PHOENIX-6151 slows down shading #925
Conversation
💔 -1 overall
This message was automatically generated. |
I'll try this out today. |
Faster, about 500KB/s, but still take a long time to build the two 150MB jars. |
I've re-run the build with warm maven caches: So we're still about twice as slow as the original shading setup. Part of that is probably simply that we are shading more stuff, but using excludes probably also contributes. Putting the two client JARs in different modules is certainly possible, however I did not have much luck running the build in multiple threads. The test parameters (numITCount) are usually tuned to fully use the test machine, and -T will cause a lot of test failures due to resource exhaustion. (and if you are on a very large machine, you're probably still better off increasing numITCount when running the full test suite) Since we do not actually test the shaded artifacts, there is not much point in building them in Jenkins, and they are not useful 95% percent of the time during local development. We could shave off 10 minutes from the CI builds by not building the shaded artifacts at all. Yetus sets some default profile/property that we could re-use for this, and of course this could also be used locally. For local development builds that aren't deployed to a real cluster I usually just use: mvn clean package -DskipTests -am -pl phoenix-core : |
Perhaps we can have a maven option to not build the -embedded jar. |
The new patch implements both of your suggestions, @lhofhansl . |
Awesome! I'll take a closer look tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried it. Works fine!
Wait... Looks like it's still taking a very long time. (The previous run wasn't finished... My mistake) But I see it is doing the building in parallel. So I guess we achieved was we set out to do with this one. Just still slow. :( |
Sorry for the noise - it's a bit early for me in seems. Now assembly fails for me. I'll come back when I fully tested this. |
I've rebased the patch, as we had some (unrelated) build breaking bugs in master, that @virajjasani has found and fixed. @lhofhansl. |
(!) A patch to the testing environment has been detected. |
When I do git apply with the patch I see that we still have the old, SLOW, exclude patterns. (in phoenix-client-parent/phoenix-client/pom.xml) |
There are two patches, and github only exports the second, I guess. |
simplify shading rules to speed it up make client builds parallelizable make embedded client skippable change embedded client maven coordinates
I've squashed them. |
git am did it. Sigh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Goes from 7.5mins to 4mins for me. Looks like a nice win!
I have not done any validation with the embedded artifact, though.
Yeah. Looks good now. |
Hmm. Looks like Yetus cannot correctly handle PRs that consist of more than one patch, even when working directly from GitHub. |
💔 -1 overall
This message was automatically generated. |
No description provided.