Skip to content

Conversation

@srowen
Copy link
Member

@srowen srowen commented Jul 14, 2017

What changes were proposed in this pull request?

Following the comment at https://issues.apache.org/jira/browse/SPARK-15526?focusedCommentId=16086106&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16086106 -- this change actually needed a little more work to be complete.

This also marks JPMML as provided to make sure its JARs aren't included in the jars output, but then scopes to compile in mllib. This is how Guava is handled.

How was this patch tested?

Checked result in assembly/target/scala-2.11/jars to verify there are no JPMML jars. Maven and SBT builds still work.

…mote to compile in MLlib; similar to Guava approach
@srowen
Copy link
Member Author

srowen commented Jul 14, 2017

CC @vanzin

@vanzin
Copy link
Contributor

vanzin commented Jul 14, 2017

Can you add [test-maven] to the title so that the PR builder runs the maven build?

@srowen srowen changed the title [SPARK-15526][ML][FOLLOWUP] Make JPMML provided scope to avoid including unshaded JARs, and repromote to compile in MLlib [SPARK-15526][ML][FOLLOWUP][test-maven] Make JPMML provided scope to avoid including unshaded JARs, and repromote to compile in MLlib Jul 14, 2017
@vanzin
Copy link
Contributor

vanzin commented Jul 14, 2017

retest this please

Copy link
Contributor

@vanzin vanzin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM pending maven tests. If those fail you may need to mirror what core/ does with these dependencies (see copy-dependencies invocation there, and look for core/target/jars in AbstractCommandBuilder.java.

BTW those changes might be nice to have in any case, since they allow SPARK_PREPEND_CLASSES to work.

<!--
This profile is enabled automatically by the sbt built. It changes the scope for the guava
dependency, since we don't shade it in the artifacts generated by the sbt build.
This profile is enabled automatically by the sbt build. It changes the scope for shaded
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this profile is even necessary, given it does not include jetty which is also "provided" by default... but I'm too lazy to do history spelunking at the moment.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, just updating this to update it

@SparkQA
Copy link

SparkQA commented Jul 14, 2017

Test build #79619 has finished for PR 18637 at commit 4b20f82.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Jul 14, 2017

Test build #79621 has finished for PR 18637 at commit 4b20f82.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Member Author

@srowen srowen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I added the copy-dependencies element to mllib, and adapted it, I believe. @vanzin

<!--
This profile is enabled automatically by the sbt built. It changes the scope for the guava
dependency, since we don't shade it in the artifacts generated by the sbt build.
This profile is enabled automatically by the sbt build. It changes the scope for shaded
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, just updating this to update it

@SparkQA
Copy link

SparkQA commented Jul 16, 2017

Test build #79646 has finished for PR 18637 at commit 0f7a248.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- When using SPARK_PREPEND_CLASSES Spark classes compiled locally don't use
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to add code in AbstractCommandBuilder.java (method buildClassPath) for this to have an actual effect.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @vanzin, like this? 9c3ab05

@SparkQA
Copy link

SparkQA commented Jul 18, 2017

Test build #79701 has finished for PR 18637 at commit 9c3ab05.

  • This patch fails PySpark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Jul 18, 2017

Test build #3845 has finished for PR 18637 at commit 9c3ab05.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@vanzin
Copy link
Contributor

vanzin commented Jul 18, 2017

LGTM. Merging to master.

@asfgit asfgit closed this in d3f4a21 Jul 18, 2017
@srowen srowen deleted the SPARK-15526.2 branch July 20, 2017 13:40
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

Successfully merging this pull request may close these issues.

3 participants