You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2026/05/05 06:12:00 UTC
[jira] [Updated] (PHOENIX-7842) Reduce the shading contribution to build time
[ https://issues.apache.org/jira/browse/PHOENIX-7842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Kyle Purtell updated PHOENIX-7842:
-----------------------------------------
Description:
The Phoenix build takes ~25 minutes on a M4 macbook due to shading. With some simple changes for developer inner loop we can cut the time in half if not better.
Consider:
* Flip the default of {{shadeSources}} from {{true}} to {{false}} in. Re-enable it inside the existing {{release}} profile so RC builds and {{mvn deploy}} still publish shaded sources jars.
** Estimated impact: roughly halves the time required in each shade module. ~25 min → ~12 min.
* Add {{<createDependencyReducedPom>false</createDependencyReducedPom>}} to the four shade executions in {{{}phoenix-client-parent/phoenix-client-embedded/pom.xml{}}}, {{{}phoenix-client-parent/phoenix-client-lite/pom.xml{}}}, {{phoenix-server/pom.xml}} and {{{}phoenix-mapreduce-byo-shaded-hbase/pom.xml{}}}. Drop the now-unused {{<dependencyReducedPomLocation>}} line and {{{}<promoteTransitiveDependencies>true</promoteTransitiveDependencies>{}}}. Safe because nothing consumes these as Maven dependencies.
** Estimated impact: an additional -ve of ~5–10% per module.
In theory we could then bump {{maven-shade-plugin.version}} from 3.6.0 to 3.6.2 or later, which makes parallel builds safe. Then with the above improvements and also {{mvn -T 4 package -DskipTests}} the build time with skipTests may drop to as low as {*}5 minutes{*}.
was:The Phoenix build takes ~25 minutes on a M4 macbook due to shading. With some simple changes for developer inner loop we can cut the time in half if not better.
> Reduce the shading contribution to build time
> ---------------------------------------------
>
> Key: PHOENIX-7842
> URL: https://issues.apache.org/jira/browse/PHOENIX-7842
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Andrew Kyle Purtell
> Assignee: Andrew Kyle Purtell
> Priority: Minor
>
> The Phoenix build takes ~25 minutes on a M4 macbook due to shading. With some simple changes for developer inner loop we can cut the time in half if not better.
> Consider:
> * Flip the default of {{shadeSources}} from {{true}} to {{false}} in. Re-enable it inside the existing {{release}} profile so RC builds and {{mvn deploy}} still publish shaded sources jars.
> ** Estimated impact: roughly halves the time required in each shade module. ~25 min → ~12 min.
> * Add {{<createDependencyReducedPom>false</createDependencyReducedPom>}} to the four shade executions in {{{}phoenix-client-parent/phoenix-client-embedded/pom.xml{}}}, {{{}phoenix-client-parent/phoenix-client-lite/pom.xml{}}}, {{phoenix-server/pom.xml}} and {{{}phoenix-mapreduce-byo-shaded-hbase/pom.xml{}}}. Drop the now-unused {{<dependencyReducedPomLocation>}} line and {{{}<promoteTransitiveDependencies>true</promoteTransitiveDependencies>{}}}. Safe because nothing consumes these as Maven dependencies.
> ** Estimated impact: an additional -ve of ~5–10% per module.
> In theory we could then bump {{maven-shade-plugin.version}} from 3.6.0 to 3.6.2 or later, which makes parallel builds safe. Then with the above improvements and also {{mvn -T 4 package -DskipTests}} the build time with skipTests may drop to as low as {*}5 minutes{*}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)