aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rosen <joshrosen@apache.org>2014-09-07 20:39:53 -0700
committerReynold Xin <rxin@apache.org>2014-09-07 20:39:53 -0700
commit4ba2673569f8c6da7f7348977f52f98f40dfbfec (patch)
treef1c09ee64896ed07424fe1d4f69565e259ddb398
parent9d69a782bd2fc45193f269d8d8434795ea1580a4 (diff)
downloadspark-4ba2673569f8c6da7f7348977f52f98f40dfbfec.tar.gz
spark-4ba2673569f8c6da7f7348977f52f98f40dfbfec.tar.bz2
spark-4ba2673569f8c6da7f7348977f52f98f40dfbfec.zip
[HOTFIX] Fix broken Mima tests on the master branch
By merging #2268, which bumped the Spark version to 1.2.0-SNAPSHOT, I inadvertently broke the Mima binary compatibility tests. The issue is that we were comparing 1.2.0-SNAPSHOT against Spark 1.0.0 without using any Mima excludes. The right long-term fix for this is probably to publish nightly snapshots on Maven central and change the master branch to test binary compatibility against the current release candidate branch's snapshots until that release is finalized. As a short-term fix until 1.1.0 is published on Maven central, I've configured the build to test the master branch for binary compatibility against the 1.1.0-RC4 jars. I'll loop back and remove the Apache staging repo as soon as 1.1.0 final is available. Author: Josh Rosen <joshrosen@apache.org> Closes #2315 from JoshRosen/mima-fix and squashes the following commits: 776bc2c [Josh Rosen] Add two excludes to workaround Mima annotation issues. ec90e21 [Josh Rosen] Add deploy and graphx to 1.2 MiMa excludes. 57569be [Josh Rosen] Fix MiMa tests in master branch; test against 1.1.0 RC.
-rw-r--r--pom.xml12
-rw-r--r--project/MimaBuild.scala2
-rw-r--r--project/MimaExcludes.scala12
3 files changed, 25 insertions, 1 deletions
diff --git a/pom.xml b/pom.xml
index 1efa904520..d05190512f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,6 +221,18 @@
<enabled>false</enabled>
</snapshots>
</repository>
+ <!-- TODO: remove this as soon as 1.1.0 is published on Maven central -->
+ <repository>
+ <id>spark-staging-1030</id>
+ <name>Spark 1.1.0 Staging (1030)</name>
+ <url>https://repository.apache.org/content/repositories/orgapachespark-1030/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
</repositories>
<pluginRepositories>
<pluginRepository>
diff --git a/project/MimaBuild.scala b/project/MimaBuild.scala
index 034ba6a7bf..0f5d71afcf 100644
--- a/project/MimaBuild.scala
+++ b/project/MimaBuild.scala
@@ -85,7 +85,7 @@ object MimaBuild {
def mimaSettings(sparkHome: File, projectRef: ProjectRef) = {
val organization = "org.apache.spark"
- val previousSparkVersion = "1.0.0"
+ val previousSparkVersion = "1.1.0"
val fullId = "spark-" + projectRef.project + "_2.10"
mimaDefaultSettings ++
Seq(previousArtifact := Some(organization % fullId % previousSparkVersion),
diff --git a/project/MimaExcludes.scala b/project/MimaExcludes.scala
index 855d5cc8cf..46b78bd5c7 100644
--- a/project/MimaExcludes.scala
+++ b/project/MimaExcludes.scala
@@ -33,6 +33,18 @@ import com.typesafe.tools.mima.core._
object MimaExcludes {
def excludes(version: String) =
version match {
+ case v if v.startsWith("1.2") =>
+ Seq(
+ MimaBuild.excludeSparkPackage("deploy"),
+ MimaBuild.excludeSparkPackage("graphx")
+ ) ++
+ // This is @DeveloperAPI, but Mima still gives false-positives:
+ MimaBuild.excludeSparkClass("scheduler.SparkListenerApplicationStart") ++
+ Seq(
+ // This is @Experimental, but Mima still gives false-positives:
+ ProblemFilters.exclude[MissingMethodProblem](
+ "org.apache.spark.api.java.JavaRDDLike.foreachAsync")
+ )
case v if v.startsWith("1.1") =>
Seq(
MimaBuild.excludeSparkPackage("deploy"),