[ https://issues.apache.org/jira/browse/HDDS-2709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16997700#comment-16997700 ]
Siyao Meng edited comment on HDDS-2709 at 12/16/19 11:23 PM: ------------------------------------------------------------- [~aengineer] Sorry I missed your comment earlier. bq. The fix is to compile without skipShade, if you want to compile modules that depend on shading. ozonefs doesn't really depend on shading (as I tested, check out my [comment|https://github.com/apache/hadoop-ozone/pull/342#issuecomment-565647833] in PR). So with {{skipShade}} to compile ONLY {{ozonefs}} but not the shaded FS jars I do save some time. I also tested that: with the patch and {{-DskipShade}}, the resulting distribution won't contain {{hadoop-ozone-filesystem-lib-current}} or {{hadoop-ozone-filesystem-lib-legacy}} (as expected). And all functions still work (in docker-compose cluster). The current behavior (without the patch) is: with {{-DskipShade}}, it skips compiling ozonefs module, but it would pick up the jar ({{hadoop-ozone-filesystem-0.5.0-SNAPSHOT.jar}}) from local maven cache (or from Apache repo if local cache expires or doesn't exist) when building {{dist}}. {code:title=Build Ozone dist from fresh} mv ~/.m2{,.bak} git clone g...@github.com:apache/hadoop-ozone.git ozone-fresh cd ozone-fresh mvn clean install -Pdist -DskipTests -e -Dmaven.javadoc.skip=true -DskipRecon -DskipShade {code} So a confusing fact I discovered (before I submit this patch) is that, I first compile it with all the shading stuff, later I made some change in ozonefs and decide to speed it up with {{-DskipShade}}. The resulting dist would actually contain the *previously compiled jar*. This is the "unexpected" behavior I am going after. As in Hadoop, {{skipShade}} would still compile the non-shaded client (and skip the shaded client jar, etc. to save time). I would want {{skipShade}} to at least have the same semantic. Thanks. was (Author: smeng): [~aengineer] Sorry I missed your comment earlier. ?? The fix is to compile without skipShade, if you want to compile modules that depend on shading. ?? ozonefs doesn't really depend on shading (as I tested, check out my [comment|https://github.com/apache/hadoop-ozone/pull/342#issuecomment-565647833] in PR). So with {{skipShade}} to compile ONLY {{ozonefs}} but not the shaded FS jars I do save some time. I also tested that: with the patch and {{-DskipShade}}, the resulting distribution won't contain {{hadoop-ozone-filesystem-lib-current}} or {{hadoop-ozone-filesystem-lib-legacy}} (as expected). And all functions still work (in docker-compose cluster). The current behavior (without the patch) is: with {{-DskipShade}}, it skips compiling ozonefs module, but it would pick up the jar ({{hadoop-ozone-filesystem-0.5.0-SNAPSHOT.jar}}) from local maven cache (or from Apache repo if local cache expires or doesn't exist) when building {{dist}}. {code:title=Build Ozone dist from fresh} mv ~/.m2{,.bak} git clone g...@github.com:apache/hadoop-ozone.git ozone-fresh cd ozone-fresh mvn clean install -Pdist -DskipTests -e -Dmaven.javadoc.skip=true -DskipRecon -DskipShade {code} So a confusing fact I discovered (before I submit this patch) is that, I first compile it with all the shading stuff, later I made some change in ozonefs and decide to speed it up with {{-DskipShade}}. The resulting dist would actually contain the *previously compiled jar*. This is the "unexpected" behavior I am going after. As in Hadoop, {{skipShade}} would still compile the non-shaded client (and skip the shaded client jar, etc. to save time). I would want {{skipShade}} to have the at least same semantic. Thanks. > Maven property skipShade should not skip ozonefs compilation > ------------------------------------------------------------ > > Key: HDDS-2709 > URL: https://issues.apache.org/jira/browse/HDDS-2709 > Project: Hadoop Distributed Data Store > Issue Type: Bug > Reporter: Siyao Meng > Assignee: Siyao Meng > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Currently, if {{-DskipShade}} is specified when running {{mvn}}, it will skip > {{ozonefs}} module ({{hadoop-ozone-filesystem}} / Apache Hadoop Ozone > FileSystem) compilation: > {code:xml|title=hadoop-ozone/pom.xml} > <profile> > <id>build-with-ozonefs</id> > <activation> > <property> > <name>!skipShade</name> > </property> > </activation> > <modules> > <module>ozonefs</module> > <module>ozonefs-lib-current</module> > <module>ozonefs-lib-legacy</module> > </modules> > </profile> > {code} > As result of this, when I make code change under {{./hadoop-ozone/ozonefs/}} > then run {{mvn clean install -Pdist -DskipTests -e -Dmaven.javadoc.skip=true > -DskipShade}}, the change won't be reflected in the dist. Property > {{skipShade}} should not be expected to do this. > We should compile {{ozonefs}} regardless of {{-DskipShade}}. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: ozone-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: ozone-issues-h...@hadoop.apache.org