Repository: spark
Updated Branches:
  refs/heads/master 9d69a782b -> 4ba267356


[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 <[email protected]>

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.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/4ba26735
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/4ba26735
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/4ba26735

Branch: refs/heads/master
Commit: 4ba2673569f8c6da7f7348977f52f98f40dfbfec
Parents: 9d69a78
Author: Josh Rosen <[email protected]>
Authored: Sun Sep 7 20:39:53 2014 -0700
Committer: Reynold Xin <[email protected]>
Committed: Sun Sep 7 20:39:53 2014 -0700

----------------------------------------------------------------------
 pom.xml                    | 12 ++++++++++++
 project/MimaBuild.scala    |  2 +-
 project/MimaExcludes.scala | 12 ++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/4ba26735/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1efa904..d051905 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>

http://git-wip-us.apache.org/repos/asf/spark/blob/4ba26735/project/MimaBuild.scala
----------------------------------------------------------------------
diff --git a/project/MimaBuild.scala b/project/MimaBuild.scala
index 034ba6a..0f5d71a 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),

http://git-wip-us.apache.org/repos/asf/spark/blob/4ba26735/project/MimaExcludes.scala
----------------------------------------------------------------------
diff --git a/project/MimaExcludes.scala b/project/MimaExcludes.scala
index 855d5cc..46b78bd 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"),


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to