{"action":"created","comment":{"url":"https://api.github.com/repos/apache/spark/pulls/comments/39004505","id":39004505,"diff_hunk":"@@ -32,635 +32,638 @@ import com.typesafe.tools.mima.core.ProblemFilters._\n  * MimaBuild.excludeSparkClass(\"graphx.util.collection.GraphXPrimitiveKeyOpenHashMap\")\n  */\n object MimaExcludes {\n-    def excludes(version: String) =\n-      version match {\n-        case v if v.startsWith(\"1.5\") =>\n-          Seq(\n-            MimaBuild.excludeSparkPackage(\"deploy\"),\n-            MimaBuild.excludeSparkPackage(\"network\"),\n-            // These are needed if checking against the sbt build, since they are part of\n-            // the maven-generated artifacts in 1.3.\n-            excludePackage(\"org.spark-project.jetty\"),\n-            MimaBuild.excludeSparkPackage(\"unused\"),\n-            // JavaRDDLike is not meant to be extended by user programs\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.partitioner\"),\n-            // Modification of private static method\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\n-              \"org.apache.spark.streaming.kafka.KafkaUtils.org$apache$spark$streaming$kafka$KafkaUtils$$leadersForRanges\"),\n-            // Mima false positive (was a private[spark] class)\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.util.collection.PairIterator\"),\n-            // Removing a testing method from a private class\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.kafka.KafkaTestUtils.waitUntilLeaderOffset\"),\n-            // While private MiMa is still not happy about the changes,\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.ml.regression.LeastSquaresAggregator.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.ml.regression.LeastSquaresCostFun.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.ml.classification.LogisticCostFun.this\"),\n-            // SQL execution is considered private.\n-            excludePackage(\"org.apache.spark.sql.execution\"),\n-            // The old JSON RDD is removed in favor of streaming Jackson\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.json.JsonRDD$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.json.JsonRDD\"),\n-            // local function inside a method\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.sql.SQLContext.org$apache$spark$sql$SQLContext$$needsConversion$1\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.sql.UDFRegistration.org$apache$spark$sql$UDFRegistration$$builder$24\")\n-          ) ++ Seq(\n-            // SPARK-8479 Add numNonzeros and numActives to Matrix.\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.numNonzeros\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.numActives\")\n-          ) ++ Seq(\n-            // SPARK-8914 Remove RDDApi\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.RDDApi\")\n-          ) ++ Seq(\n-            // SPARK-7292 Provide operator to truncate lineage cheaply\n-            ProblemFilters.exclude[AbstractClassProblem](\n-              \"org.apache.spark.rdd.RDDCheckpointData\"),\n-            ProblemFilters.exclude[AbstractClassProblem](\n-              \"org.apache.spark.rdd.CheckpointRDD\")\n-          ) ++ Seq(\n-            // SPARK-8701 Add input metadata in the batch page.\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.streaming.scheduler.InputInfo$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.streaming.scheduler.InputInfo\")\n-          ) ++ Seq(\n-            // SPARK-6797 Support YARN modes for SparkR\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.r.PairwiseRRDD.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.r.RRDD.createRWorker\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.r.RRDD.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.r.StringRRDD.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.r.BaseRRDD.this\")\n-          ) ++ Seq(\n-            // SPARK-7422 add argmax for sparse vectors\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.argmax\")\n-          ) ++ Seq(\n-            // SPARK-8906 Move all internal data source classes into execution.datasources\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.ResolvedDataSource\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreInsertCastAndRename$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsingAsSelect$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoDataSource$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopPartition\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$PartitionValues$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DefaultWriterContainer\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$PartitionValues\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.RefreshTable$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsing$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitionSpec\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DynamicPartitionWriterContainer\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsingAsSelect\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DescribeCommand$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreInsertCastAndRename\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.Partition$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.LogicalRelation$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.LogicalRelation\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.Partition\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.BaseWriterContainer\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreWriteCheck\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsing\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.RefreshTable\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$NewHadoopMapPartitionsWithSplitRDD\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DataSourceStrategy$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsing\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsingAsSelect$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsingAsSelect\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsing$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.ResolvedDataSource$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreWriteCheck$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoDataSource\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoHadoopFsRelation\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DDLParser\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CaseInsensitiveMap\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoHadoopFsRelation$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DataSourceStrategy\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$NewHadoopMapPartitionsWithSplitRDD$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitionSpec$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DescribeCommand\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DDLException\"),\n-            // SPARK-9763 Minimize exposure of internal SQL classes\n-            excludePackage(\"org.apache.spark.sql.parquet\"),\n-            excludePackage(\"org.apache.spark.sql.json\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$DecimalConversion$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartition\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JdbcUtils$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$DecimalConversion\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartitioningInfo$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartition$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$JDBCConversion\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package$DriverWrapper\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartitioningInfo\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JdbcUtils\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DefaultSource\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRelation$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRelation\")\n-          ) ++ Seq(\n-            // SPARK-4751 Dynamic allocation for standalone mode\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.SparkContext.supportDynamicAllocation\")\n-          ) ++ Seq(\n-            // SPARK-9580: Remove SQL test singletons\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.test.LocalSQLContext$SQLSession\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.test.LocalSQLContext\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.test.TestSQLContext\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.test.TestSQLContext$\")\n-          ) ++ Seq(\n-            // SPARK-9704 Made ProbabilisticClassifier, Identifiable, VectorUDT public APIs\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.mllib.linalg.VectorUDT.serialize\")\n-          )\n+  def excludes(version: String) = version match {\n+    case v if v.startsWith(\"1.6\") =>\n+      Seq(\n+        MimaBuild.excludeSparkPackage(\"network\")\n+        )\n+    case v if v.startsWith(\"1.5\") =>\n+      Seq(\n+        MimaBuild.excludeSparkPackage(\"network\"),\n+        MimaBuild.excludeSparkPackage(\"deploy\"),\n+        // These are needed if checking against the sbt build, since they are part of\n+        // the maven-generated artifacts in 1.3.\n+        excludePackage(\"org.spark-project.jetty\"),\n+        MimaBuild.excludeSparkPackage(\"unused\"),\n+        // JavaRDDLike is not meant to be extended by user programs\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.java.JavaRDDLike.partitioner\"),\n+        // Modification of private static method\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\n+          \"org.apache.spark.streaming.kafka.KafkaUtils.org$apache$spark$streaming$kafka$KafkaUtils$$leadersForRanges\"),\n+        // Mima false positive (was a private[spark] class)\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.util.collection.PairIterator\"),\n+        // Removing a testing method from a private class\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.streaming.kafka.KafkaTestUtils.waitUntilLeaderOffset\"),\n+        // While private MiMa is still not happy about the changes,\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.ml.regression.LeastSquaresAggregator.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.ml.regression.LeastSquaresCostFun.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.ml.classification.LogisticCostFun.this\"),\n+        // SQL execution is considered private.\n+        excludePackage(\"org.apache.spark.sql.execution\"),\n+        // The old JSON RDD is removed in favor of streaming Jackson\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.json.JsonRDD$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.json.JsonRDD\"),\n+        // local function inside a method\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.sql.SQLContext.org$apache$spark$sql$SQLContext$$needsConversion$1\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.sql.UDFRegistration.org$apache$spark$sql$UDFRegistration$$builder$24\")\n+      ) ++ Seq(\n+        // SPARK-8479 Add numNonzeros and numActives to Matrix.\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.numNonzeros\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.numActives\")\n+      ) ++ Seq(\n+        // SPARK-8914 Remove RDDApi\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.RDDApi\")\n+      ) ++ Seq(\n+        // SPARK-7292 Provide operator to truncate lineage cheaply\n+        ProblemFilters.exclude[AbstractClassProblem](\n+          \"org.apache.spark.rdd.RDDCheckpointData\"),\n+        ProblemFilters.exclude[AbstractClassProblem](\n+          \"org.apache.spark.rdd.CheckpointRDD\")\n+      ) ++ Seq(\n+        // SPARK-8701 Add input metadata in the batch page.\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.streaming.scheduler.InputInfo$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.streaming.scheduler.InputInfo\")\n+      ) ++ Seq(\n+        // SPARK-6797 Support YARN modes for SparkR\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.r.PairwiseRRDD.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.r.RRDD.createRWorker\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.r.RRDD.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.r.StringRRDD.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.r.BaseRRDD.this\")\n+      ) ++ Seq(\n+        // SPARK-7422 add argmax for sparse vectors\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.argmax\")\n+      ) ++ Seq(\n+        // SPARK-8906 Move all internal data source classes into execution.datasources\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.ResolvedDataSource\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreInsertCastAndRename$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsingAsSelect$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoDataSource$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopPartition\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$PartitionValues$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DefaultWriterContainer\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$PartitionValues\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.RefreshTable$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsing$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitionSpec\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DynamicPartitionWriterContainer\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsingAsSelect\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DescribeCommand$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreInsertCastAndRename\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.Partition$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.LogicalRelation$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitioningUtils\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.LogicalRelation\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.Partition\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.BaseWriterContainer\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreWriteCheck\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsing\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.RefreshTable\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$NewHadoopMapPartitionsWithSplitRDD\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DataSourceStrategy$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsing\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsingAsSelect$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTempTableUsingAsSelect\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CreateTableUsing$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.ResolvedDataSource$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PreWriteCheck$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoDataSource\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoHadoopFsRelation\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DDLParser\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.CaseInsensitiveMap\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.InsertIntoHadoopFsRelation$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DataSourceStrategy\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.SqlNewHadoopRDD$NewHadoopMapPartitionsWithSplitRDD$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.PartitionSpec$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DescribeCommand\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.sources.DDLException\"),\n+        // SPARK-9763 Minimize exposure of internal SQL classes\n+        excludePackage(\"org.apache.spark.sql.parquet\"),\n+        excludePackage(\"org.apache.spark.sql.json\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$DecimalConversion$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartition\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JdbcUtils$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$DecimalConversion\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartitioningInfo$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartition$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$JDBCConversion\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package$DriverWrapper\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRDD\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCPartitioningInfo\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JdbcUtils\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DefaultSource\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRelation$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.package$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.JDBCRelation\")\n+      ) ++ Seq(\n+        // SPARK-4751 Dynamic allocation for standalone mode\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.SparkContext.supportDynamicAllocation\")\n+      ) ++ Seq(\n+        // SPARK-9580: Remove SQL test singletons\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.test.LocalSQLContext$SQLSession\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.test.LocalSQLContext\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.test.TestSQLContext\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.test.TestSQLContext$\")\n+      ) ++ Seq(\n+        // SPARK-9704 Made ProbabilisticClassifier, Identifiable, VectorUDT public APIs\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.mllib.linalg.VectorUDT.serialize\")\n+      )\n \n-        case v if v.startsWith(\"1.4\") =>\n-          Seq(\n-            MimaBuild.excludeSparkPackage(\"deploy\"),\n-            MimaBuild.excludeSparkPackage(\"ml\"),\n-            // SPARK-7910 Adding a method to get the partioner to JavaRDD,\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.api.java.JavaRDDLike.partitioner\"),\n-            // SPARK-5922 Adding a generalized diff(other: RDD[(VertexId, VD)]) to VertexRDD\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.diff\"),\n-            // These are needed if checking against the sbt build, since they are part of\n-            // the maven-generated artifacts in 1.3.\n-            excludePackage(\"org.spark-project.jetty\"),\n-            MimaBuild.excludeSparkPackage(\"unused\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"com.google.common.base.Optional\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.rdd.JdbcRDD.compute\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.broadcast.HttpBroadcastFactory.newBroadcast\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.scheduler.OutputCommitCoordinator$OutputCommitCoordinatorEndpoint\")\n-          ) ++ Seq(\n-            // SPARK-4655 - Making Stage an Abstract class broke binary compatility even though\n-            // the stage class is defined as private[spark]\n-            ProblemFilters.exclude[AbstractClassProblem](\"org.apache.spark.scheduler.Stage\")\n-          ) ++ Seq(\n-            // SPARK-6510 Add a Graph#minus method acting as Set#difference\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.minus\")\n-          ) ++ Seq(\n-            // SPARK-6492 Fix deadlock in SparkContext.stop()\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.SparkContext.org$\" +\n-                \"apache$spark$SparkContext$$SPARK_CONTEXT_CONSTRUCTOR_LOCK\")\n-          )++ Seq(\n-            // SPARK-6693 add tostring with max lines and width for matrix\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.toString\")\n-          )++ Seq(\n-            // SPARK-6703 Add getOrCreate method to SparkContext\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem]\n-                (\"org.apache.spark.SparkContext.org$apache$spark$SparkContext$$activeContext\")\n-          )++ Seq(\n-            // SPARK-7090 Introduce LDAOptimizer to LDA to further improve extensibility\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.mllib.clustering.LDA$EMOptimizer\")\n-          ) ++ Seq(\n-            // SPARK-6756 add toSparse, toDense, numActives, numNonzeros, and compressed to Vector\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.compressed\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.toDense\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.numNonzeros\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.toSparse\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Vector.numActives\"),\n-            // SPARK-7681 add SparseVector support for gemv\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.multiply\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.DenseMatrix.multiply\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.SparseMatrix.multiply\")\n-          ) ++ Seq(\n-            // Execution should never be included as its always internal.\n-            MimaBuild.excludeSparkPackage(\"sql.execution\"),\n-            // This `protected[sql]` method was removed in 1.3.1\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.sql.SQLContext.checkAnalysis\"),\n-            // These `private[sql]` class were removed in 1.4.0:\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.execution.AddExchange\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.execution.AddExchange$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.PartitionSpec\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.PartitionSpec$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.Partition\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.Partition$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetRelation2$PartitionValues\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetRelation2$PartitionValues$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetRelation2\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetRelation2$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache\"),\n-            // These test support classes were moved out of src/main and into src/test:\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetTestData\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetTestData$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.TestGroupWriteSupport\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CachedData\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CachedData$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CacheManager\"),\n-            // TODO: Remove the following rule once ParquetTest has been moved to src/test.\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.sql.parquet.ParquetTest\")\n-          ) ++ Seq(\n-            // SPARK-7530 Added StreamingContext.getState()\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.StreamingContext.state_=\")\n-          ) ++ Seq(\n-            // SPARK-7081 changed ShuffleWriter from a trait to an abstract class and removed some\n-            // unnecessary type bounds in order to fix some compiler warnings that occurred when\n-            // implementing this interface in Java. Note that ShuffleWriter is private[spark].\n-            ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n-              \"org.apache.spark.shuffle.ShuffleWriter\")\n-          ) ++ Seq(\n-            // SPARK-6888 make jdbc driver handling user definable\n-            // This patch renames some classes to API friendly names.\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DriverQuirks$\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DriverQuirks\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.PostgresQuirks\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.NoQuirks\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.MySQLQuirks\")\n-          )\n+    case v if v.startsWith(\"1.4\") =>\n+      Seq(\n+        MimaBuild.excludeSparkPackage(\"deploy\"),\n+        MimaBuild.excludeSparkPackage(\"ml\"),\n+        // SPARK-7910 Adding a method to get the partioner to JavaRDD,\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.api.java.JavaRDDLike.partitioner\"),\n+        // SPARK-5922 Adding a generalized diff(other: RDD[(VertexId, VD)]) to VertexRDD\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.diff\"),\n+        // These are needed if checking against the sbt build, since they are part of\n+        // the maven-generated artifacts in 1.3.\n+        excludePackage(\"org.spark-project.jetty\"),\n+        MimaBuild.excludeSparkPackage(\"unused\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"com.google.common.base.Optional\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.rdd.JdbcRDD.compute\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.broadcast.HttpBroadcastFactory.newBroadcast\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.scheduler.OutputCommitCoordinator$OutputCommitCoordinatorEndpoint\")\n+      ) ++ Seq(\n+        // SPARK-4655 - Making Stage an Abstract class broke binary compatility even though\n+        // the stage class is defined as private[spark]\n+        ProblemFilters.exclude[AbstractClassProblem](\"org.apache.spark.scheduler.Stage\")\n+      ) ++ Seq(\n+        // SPARK-6510 Add a Graph#minus method acting as Set#difference\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.minus\")\n+      ) ++ Seq(\n+        // SPARK-6492 Fix deadlock in SparkContext.stop()\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.SparkContext.org$\" +\n+            \"apache$spark$SparkContext$$SPARK_CONTEXT_CONSTRUCTOR_LOCK\")\n+      )++ Seq(\n+        // SPARK-6693 add tostring with max lines and width for matrix\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.toString\")\n+      )++ Seq(\n+        // SPARK-6703 Add getOrCreate method to SparkContext\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem]\n+            (\"org.apache.spark.SparkContext.org$apache$spark$SparkContext$$activeContext\")\n+      )++ Seq(\n+        // SPARK-7090 Introduce LDAOptimizer to LDA to further improve extensibility\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.mllib.clustering.LDA$EMOptimizer\")\n+      ) ++ Seq(\n+        // SPARK-6756 add toSparse, toDense, numActives, numNonzeros, and compressed to Vector\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.compressed\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.toDense\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.numNonzeros\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.toSparse\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Vector.numActives\"),\n+        // SPARK-7681 add SparseVector support for gemv\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.multiply\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.DenseMatrix.multiply\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.SparseMatrix.multiply\")\n+      ) ++ Seq(\n+        // Execution should never be included as its always internal.\n+        MimaBuild.excludeSparkPackage(\"sql.execution\"),\n+        // This `protected[sql]` method was removed in 1.3.1\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.sql.SQLContext.checkAnalysis\"),\n+        // These `private[sql]` class were removed in 1.4.0:\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.execution.AddExchange\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.execution.AddExchange$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.PartitionSpec\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.PartitionSpec$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.Partition\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.Partition$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetRelation2$PartitionValues\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetRelation2$PartitionValues$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetRelation2\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetRelation2$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache\"),\n+        // These test support classes were moved out of src/main and into src/test:\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetTestData\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetTestData$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.TestGroupWriteSupport\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CachedData\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CachedData$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.CacheManager\"),\n+        // TODO: Remove the following rule once ParquetTest has been moved to src/test.\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.sql.parquet.ParquetTest\")\n+      ) ++ Seq(\n+        // SPARK-7530 Added StreamingContext.getState()\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.streaming.StreamingContext.state_=\")\n+      ) ++ Seq(\n+        // SPARK-7081 changed ShuffleWriter from a trait to an abstract class and removed some\n+        // unnecessary type bounds in order to fix some compiler warnings that occurred when\n+        // implementing this interface in Java. Note that ShuffleWriter is private[spark].\n+        ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n+          \"org.apache.spark.shuffle.ShuffleWriter\")\n+      ) ++ Seq(\n+        // SPARK-6888 make jdbc driver handling user definable\n+        // This patch renames some classes to API friendly names.\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DriverQuirks$\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.DriverQuirks\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.PostgresQuirks\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.NoQuirks\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.sql.jdbc.MySQLQuirks\")\n+      )\n \n-        case v if v.startsWith(\"1.3\") =>\n-          Seq(\n-            MimaBuild.excludeSparkPackage(\"deploy\"),\n-            MimaBuild.excludeSparkPackage(\"ml\"),\n-            // These are needed if checking against the sbt build, since they are part of\n-            // the maven-generated artifacts in the 1.2 build.\n-            MimaBuild.excludeSparkPackage(\"unused\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"com.google.common.base.Optional\")\n-          ) ++ Seq(\n-            // SPARK-2321\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.SparkStageInfoImpl.this\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.SparkStageInfo.submissionTime\")\n-          ) ++ Seq(\n-            // SPARK-4614\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrices.randn\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrices.rand\")\n-          ) ++ Seq(\n-            // SPARK-5321\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.SparseMatrix.transposeMultiply\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.transpose\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.DenseMatrix.transposeMultiply\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.mllib.linalg.Matrix.\" +\n-                \"org$apache$spark$mllib$linalg$Matrix$_setter_$isTransposed_=\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.isTransposed\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.linalg.Matrix.foreachActive\")\n-          ) ++ Seq(\n-            // SPARK-5540\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.solveLeastSquares\"),\n-            // SPARK-5536\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$^dateFeatures\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$^dateBlock\")\n-          ) ++ Seq(\n-            // SPARK-3325\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.api.java.JavaDStreamLike.print\"),\n-            // SPARK-2757\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.streaming.flume.sink.SparkAvroCallbackHandler.\" +\n-                \"removeAndGetProcessor\")\n-          ) ++ Seq(\n-            // SPARK-5123 (SparkSQL data type change) - alpha component only\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.ml.feature.HashingTF.outputDataType\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.ml.feature.Tokenizer.outputDataType\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\n-              \"org.apache.spark.ml.feature.Tokenizer.validateInputType\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\n-              \"org.apache.spark.ml.classification.LogisticRegressionModel.validateAndTransformSchema\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\n-              \"org.apache.spark.ml.classification.LogisticRegression.validateAndTransformSchema\")\n-          ) ++ Seq(\n-            // SPARK-4014\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.TaskContext.taskAttemptId\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.TaskContext.attemptNumber\")\n-          ) ++ Seq(\n-            // SPARK-5166 Spark SQL API stabilization\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Transformer.transform\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Estimator.fit\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Transformer.transform\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Pipeline.fit\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.PipelineModel.transform\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Estimator.fit\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Evaluator.evaluate\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Evaluator.evaluate\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.tuning.CrossValidator.fit\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.tuning.CrossValidatorModel.transform\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.feature.StandardScaler.fit\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.feature.StandardScalerModel.transform\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.classification.LogisticRegressionModel.transform\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.classification.LogisticRegression.fit\"),\n-            ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.evaluation.BinaryClassificationEvaluator.evaluate\")\n-          ) ++ Seq(\n-            // SPARK-5270\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.isEmpty\")\n-          ) ++ Seq(\n-            // SPARK-5430\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.treeReduce\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.treeAggregate\")\n-          ) ++ Seq(\n-            // SPARK-5297 Java FileStream do not work with custom key/values\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.api.java.JavaStreamingContext.fileStream\")\n-          ) ++ Seq(\n-            // SPARK-5315 Spark Streaming Java API returns Scala DStream\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.api.java.JavaDStreamLike.reduceByWindow\")\n-          ) ++ Seq(\n-            // SPARK-5461 Graph should have isCheckpointed, getCheckpointFiles methods\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.graphx.Graph.getCheckpointFiles\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.graphx.Graph.isCheckpointed\")\n-          ) ++ Seq(\n-            // SPARK-4789 Standardize ML Prediction APIs\n-            ProblemFilters.exclude[MissingTypesProblem](\"org.apache.spark.mllib.linalg.VectorUDT\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\"org.apache.spark.mllib.linalg.VectorUDT.serialize\"),\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\"org.apache.spark.mllib.linalg.VectorUDT.sqlType\")\n-          ) ++ Seq(\n-            // SPARK-5814\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$wrapDoubleArray\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$fillFullMatrix\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$iterations\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeOutLinkBlock\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$computeYtY\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeLinkRDDs\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$alpha\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$randomFactor\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeInLinkBlock\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$dspr\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$lambda\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$implicitPrefs\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$rank\")\n-          ) ++ Seq(\n-            // SPARK-4682\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.RealClock\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.Clock\"),\n-            ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.TestClock\")\n-          ) ++ Seq(\n-            // SPARK-5922 Adding a generalized diff(other: RDD[(VertexId, VD)]) to VertexRDD\n-            ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.diff\")\n-          )\n+    case v if v.startsWith(\"1.3\") =>\n+      Seq(\n+        MimaBuild.excludeSparkPackage(\"deploy\"),\n+        MimaBuild.excludeSparkPackage(\"ml\"),\n+        // These are needed if checking against the sbt build, since they are part of\n+        // the maven-generated artifacts in the 1.2 build.\n+        MimaBuild.excludeSparkPackage(\"unused\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"com.google.common.base.Optional\")\n+      ) ++ Seq(\n+        // SPARK-2321\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.SparkStageInfoImpl.this\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.SparkStageInfo.submissionTime\")\n+      ) ++ Seq(\n+        // SPARK-4614\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrices.randn\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrices.rand\")\n+      ) ++ Seq(\n+        // SPARK-5321\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.SparseMatrix.transposeMultiply\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.transpose\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.DenseMatrix.transposeMultiply\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.mllib.linalg.Matrix.\" +\n+            \"org$apache$spark$mllib$linalg$Matrix$_setter_$isTransposed_=\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.isTransposed\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.linalg.Matrix.foreachActive\")\n+      ) ++ Seq(\n+        // SPARK-5540\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.solveLeastSquares\"),\n+        // SPARK-5536\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$^dateFeatures\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$^dateBlock\")\n+      ) ++ Seq(\n+        // SPARK-3325\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.streaming.api.java.JavaDStreamLike.print\"),\n+        // SPARK-2757\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.streaming.flume.sink.SparkAvroCallbackHandler.\" +\n+            \"removeAndGetProcessor\")\n+      ) ++ Seq(\n+        // SPARK-5123 (SparkSQL data type change) - alpha component only\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.ml.feature.HashingTF.outputDataType\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\n+          \"org.apache.spark.ml.feature.Tokenizer.outputDataType\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\n+          \"org.apache.spark.ml.feature.Tokenizer.validateInputType\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\n+          \"org.apache.spark.ml.classification.LogisticRegressionModel.validateAndTransformSchema\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\n+          \"org.apache.spark.ml.classification.LogisticRegression.validateAndTransformSchema\")\n+      ) ++ Seq(\n+        // SPARK-4014\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.TaskContext.taskAttemptId\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.TaskContext.attemptNumber\")\n+      ) ++ Seq(\n+        // SPARK-5166 Spark SQL API stabilization\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Transformer.transform\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Estimator.fit\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Transformer.transform\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Pipeline.fit\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.PipelineModel.transform\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Estimator.fit\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.Evaluator.evaluate\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.ml.Evaluator.evaluate\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.tuning.CrossValidator.fit\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.tuning.CrossValidatorModel.transform\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.feature.StandardScaler.fit\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.feature.StandardScalerModel.transform\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.classification.LogisticRegressionModel.transform\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.classification.LogisticRegression.fit\"),\n+        ProblemFilters.exclude[IncompatibleMethTypeProblem](\"org.apache.spark.ml.evaluation.BinaryClassificationEvaluator.evaluate\")\n+      ) ++ Seq(\n+        // SPARK-5270\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.java.JavaRDDLike.isEmpty\")\n+      ) ++ Seq(\n+        // SPARK-5430\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.java.JavaRDDLike.treeReduce\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.api.java.JavaRDDLike.treeAggregate\")\n+      ) ++ Seq(\n+        // SPARK-5297 Java FileStream do not work with custom key/values\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.streaming.api.java.JavaStreamingContext.fileStream\")\n+      ) ++ Seq(\n+        // SPARK-5315 Spark Streaming Java API returns Scala DStream\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.streaming.api.java.JavaDStreamLike.reduceByWindow\")\n+      ) ++ Seq(\n+        // SPARK-5461 Graph should have isCheckpointed, getCheckpointFiles methods\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.graphx.Graph.getCheckpointFiles\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.graphx.Graph.isCheckpointed\")\n+      ) ++ Seq(\n+        // SPARK-4789 Standardize ML Prediction APIs\n+        ProblemFilters.exclude[MissingTypesProblem](\"org.apache.spark.mllib.linalg.VectorUDT\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\"org.apache.spark.mllib.linalg.VectorUDT.serialize\"),\n+        ProblemFilters.exclude[IncompatibleResultTypeProblem](\"org.apache.spark.mllib.linalg.VectorUDT.sqlType\")\n+      ) ++ Seq(\n+        // SPARK-5814\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$wrapDoubleArray\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$fillFullMatrix\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$iterations\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeOutLinkBlock\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$computeYtY\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeLinkRDDs\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$alpha\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$randomFactor\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$makeInLinkBlock\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$dspr\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$lambda\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$implicitPrefs\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.recommendation.ALS.org$apache$spark$mllib$recommendation$ALS$$rank\")\n+      ) ++ Seq(\n+        // SPARK-4682\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.RealClock\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.Clock\"),\n+        ProblemFilters.exclude[MissingClassProblem](\"org.apache.spark.TestClock\")\n+      ) ++ Seq(\n+        // SPARK-5922 Adding a generalized diff(other: RDD[(VertexId, VD)]) to VertexRDD\n+        ProblemFilters.exclude[MissingMethodProblem](\"org.apache.spark.graphx.VertexRDD.diff\")\n+      )\n \n-        case v if v.startsWith(\"1.2\") =>\n-          Seq(\n-            MimaBuild.excludeSparkPackage(\"deploy\"),\n-            MimaBuild.excludeSparkPackage(\"graphx\")\n-          ) ++\n-          MimaBuild.excludeSparkClass(\"mllib.linalg.Matrix\") ++\n-          MimaBuild.excludeSparkClass(\"mllib.linalg.Vector\") ++\n-          Seq(\n-            ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n-              \"org.apache.spark.scheduler.TaskLocation\"),\n-            // Added normL1 and normL2 to trait MultivariateStatisticalSummary\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.stat.MultivariateStatisticalSummary.normL1\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.mllib.stat.MultivariateStatisticalSummary.normL2\"),\n-            // MapStatus should be private[spark]\n-            ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n-              \"org.apache.spark.scheduler.MapStatus\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.network.netty.PathResolver\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.spark.network.netty.client.BlockClientListener\"),\n+    case v if v.startsWith(\"1.2\") =>\n+      Seq(\n+        MimaBuild.excludeSparkPackage(\"deploy\"),\n+        MimaBuild.excludeSparkPackage(\"graphx\")\n+      ) ++\n+      MimaBuild.excludeSparkClass(\"mllib.linalg.Matrix\") ++\n+      MimaBuild.excludeSparkClass(\"mllib.linalg.Vector\") ++\n+      Seq(\n+        ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n+          \"org.apache.spark.scheduler.TaskLocation\"),\n+        // Added normL1 and normL2 to trait MultivariateStatisticalSummary\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.stat.MultivariateStatisticalSummary.normL1\"),\n+        ProblemFilters.exclude[MissingMethodProblem](\n+          \"org.apache.spark.mllib.stat.MultivariateStatisticalSummary.normL2\"),\n+        // MapStatus should be private[spark]\n+        ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n+          \"org.apache.spark.scheduler.MapStatus\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.network.netty.PathResolver\"),\n+        ProblemFilters.exclude[MissingClassProblem](\n+          \"org.apache.spark.network.netty.client.BlockClientListener\"),\n \n-            // TaskContext was promoted to Abstract class\n-            ProblemFilters.exclude[AbstractClassProblem](\n-              \"org.apache.spark.TaskContext\"),\n-            ProblemFilters.exclude[IncompatibleTemplateDefProblem](\n-              \"org.apache.spark.util.collection.SortDataFormat\")\n-          ) ++ Seq(\n-            // Adding new methods to the JavaRDDLike trait:\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.takeAsync\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.foreachPartitionAsync\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.countAsync\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.foreachAsync\"),\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.api.java.JavaRDDLike.collectAsync\")\n-          ) ++ Seq(\n-            // SPARK-3822\n-            ProblemFilters.exclude[IncompatibleResultTypeProblem](\n-              \"org.apache.spark.SparkContext.org$apache$spark$SparkContext$$createTaskScheduler\")\n-          ) ++ Seq(\n-            // SPARK-1209\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.hadoop.mapreduce.SparkHadoopMapReduceUtil\"),\n-            ProblemFilters.exclude[MissingClassProblem](\n-              \"org.apache.hadoop.mapred.SparkHadoopMapRedUtil\"),\n-            ProblemFilters.exclude[MissingTypesProblem](\n-              \"org.apache.spark.rdd.PairRDDFunctions\")\n-          ) ++ Seq(\n-            // SPARK-4062\n-            ProblemFilters.exclude[MissingMethodProblem](\n-              \"org.apache.spark.streaming.kafka.KafkaReceiver#MessageHandler.this\")\n-          )\n+        // TaskContext was promoted to Abstract class\n+        ProblemFilters.exclude[AbstractClassProblem](\n+          \"org.apache.spark.TaskContext\"),\n+        Pr","path":"project/MimaExcludes.scala","position":1265,"original_position":1265,"commit_id":"2e091149e5a3c897f89eef8585af78bcb40c820a","original_commit_id":"2e091149e5a3c897f89eef8585af78bcb40c820a","user":{"login":"andrewor14","id":2133137,"avatar_url":"https://avatars.githubusercontent.com/u/2133137?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewor14","html_url":"https://github.com/andrewor14","followers_url":"https://api.github.com/users/andrewor14/followers","following_url":"https://api.github.com/users/andrewor14/following{/other_user}","gists_url":"https://api.github.com/users/andrewor14/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewor14/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewor14/subscriptions","organizations_url":"https://api.github.com/users/andrewor14/orgs","repos_url":"https://api.github.com/users/andrewor14/repos","events_url":"https://api.github.com/users/andrewor14/events{/privacy}","received_events_url":"https://api.github.com/users/andrewor14/received_events","type":"User","site_admin":false},"body":"line end","created_at":"2015-09-09T03:35:30Z","updated_at":"2015-09-09T03:35:30Z","html_url":"https://github.com/apache/spark/pull/8161#discussion_r39004505","pull_request_url":"https://api.github.com/repos/apache/spark/pulls/8161","_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/comments/39004505"},"html":{"href":"https://github.com/apache/spark/pull/8161#discussion_r39004505"},"pull_request":{"href":"https://api.github.com/repos/apache/spark/pulls/8161"}}},"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/8161","id":42324844,"html_url":"https://github.com/apache/spark/pull/8161","diff_url":"https://github.com/apache/spark/pull/8161.diff","patch_url":"https://github.com/apache/spark/pull/8161.patch","issue_url":"https://api.github.com/repos/apache/spark/issues/8161","number":8161,"state":"closed","locked":false,"title":"[SPARK-9767] Remove ConnectionManager.","user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"body":"We introduced the Netty network module for shuffle in Spark 1.2, and has turned it on by default for 3 releases. The old ConnectionManager is difficult to maintain. If we merge the patch now, by the time it is released, it would be 1 yr for which ConnectionManager is off by default. It's time to remove it.","created_at":"2015-08-13T08:13:18Z","updated_at":"2015-09-09T03:35:30Z","closed_at":"2015-09-07T20:43:56Z","merged_at":null,"merge_commit_sha":"faad327f1f7bf2e27fe0f8d8e4aa2f40f7234de5","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/apache/spark/pulls/8161/commits","review_comments_url":"https://api.github.com/repos/apache/spark/pulls/8161/comments","review_comment_url":"https://api.github.com/repos/apache/spark/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/spark/issues/8161/comments","statuses_url":"https://api.github.com/repos/apache/spark/statuses/2e091149e5a3c897f89eef8585af78bcb40c820a","head":{"label":"rxin:SPARK-9767","ref":"SPARK-9767","sha":"2e091149e5a3c897f89eef8585af78bcb40c820a","user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"repo":{"id":17192644,"name":"spark","full_name":"rxin/spark","owner":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rxin/spark","description":"Mirror of Apache Spark","fork":true,"url":"https://api.github.com/repos/rxin/spark","forks_url":"https://api.github.com/repos/rxin/spark/forks","keys_url":"https://api.github.com/repos/rxin/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rxin/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rxin/spark/teams","hooks_url":"https://api.github.com/repos/rxin/spark/hooks","issue_events_url":"https://api.github.com/repos/rxin/spark/issues/events{/number}","events_url":"https://api.github.com/repos/rxin/spark/events","assignees_url":"https://api.github.com/repos/rxin/spark/assignees{/user}","branches_url":"https://api.github.com/repos/rxin/spark/branches{/branch}","tags_url":"https://api.github.com/repos/rxin/spark/tags","blobs_url":"https://api.github.com/repos/rxin/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rxin/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rxin/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/rxin/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rxin/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/rxin/spark/languages","stargazers_url":"https://api.github.com/repos/rxin/spark/stargazers","contributors_url":"https://api.github.com/repos/rxin/spark/contributors","subscribers_url":"https://api.github.com/repos/rxin/spark/subscribers","subscription_url":"https://api.github.com/repos/rxin/spark/subscription","commits_url":"https://api.github.com/repos/rxin/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/rxin/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/rxin/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/rxin/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/rxin/spark/contents/{+path}","compare_url":"https://api.github.com/repos/rxin/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rxin/spark/merges","archive_url":"https://api.github.com/repos/rxin/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rxin/spark/downloads","issues_url":"https://api.github.com/repos/rxin/spark/issues{/number}","pulls_url":"https://api.github.com/repos/rxin/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/rxin/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/rxin/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rxin/spark/labels{/name}","releases_url":"https://api.github.com/repos/rxin/spark/releases{/id}","created_at":"2014-02-25T23:55:52Z","updated_at":"2015-07-10T06:38:54Z","pushed_at":"2015-09-09T00:23:32Z","git_url":"git://github.com/rxin/spark.git","ssh_url":"git@github.com:rxin/spark.git","clone_url":"https://github.com/rxin/spark.git","svn_url":"https://github.com/rxin/spark","homepage":null,"size":120570,"stargazers_count":1,"watchers_count":1,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":0,"forks":5,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"6c751940ea8449b7540ba956a00ed19ba0af599b","user":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":17165658,"name":"spark","full_name":"apache/spark","owner":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apache/spark","description":"Mirror of Apache Spark","fork":false,"url":"https://api.github.com/repos/apache/spark","forks_url":"https://api.github.com/repos/apache/spark/forks","keys_url":"https://api.github.com/repos/apache/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/spark/teams","hooks_url":"https://api.github.com/repos/apache/spark/hooks","issue_events_url":"https://api.github.com/repos/apache/spark/issues/events{/number}","events_url":"https://api.github.com/repos/apache/spark/events","assignees_url":"https://api.github.com/repos/apache/spark/assignees{/user}","branches_url":"https://api.github.com/repos/apache/spark/branches{/branch}","tags_url":"https://api.github.com/repos/apache/spark/tags","blobs_url":"https://api.github.com/repos/apache/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/spark/languages","stargazers_url":"https://api.github.com/repos/apache/spark/stargazers","contributors_url":"https://api.github.com/repos/apache/spark/contributors","subscribers_url":"https://api.github.com/repos/apache/spark/subscribers","subscription_url":"https://api.github.com/repos/apache/spark/subscription","commits_url":"https://api.github.com/repos/apache/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/spark/contents/{+path}","compare_url":"https://api.github.com/repos/apache/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/spark/merges","archive_url":"https://api.github.com/repos/apache/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/spark/downloads","issues_url":"https://api.github.com/repos/apache/spark/issues{/number}","pulls_url":"https://api.github.com/repos/apache/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/spark/labels{/name}","releases_url":"https://api.github.com/repos/apache/spark/releases{/id}","created_at":"2014-02-25T08:00:08Z","updated_at":"2015-09-09T03:30:22Z","pushed_at":"2015-09-09T03:30:41Z","git_url":"git://github.com/apache/spark.git","ssh_url":"git@github.com:apache/spark.git","clone_url":"https://github.com/apache/spark.git","svn_url":"https://github.com/apache/spark","homepage":null,"size":1614140,"stargazers_count":5334,"watchers_count":5334,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4925,"mirror_url":"git://git.apache.org/spark.git","open_issues_count":352,"forks":4925,"open_issues":352,"watchers":5334,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/8161"},"html":{"href":"https://github.com/apache/spark/pull/8161"},"issue":{"href":"https://api.github.com/repos/apache/spark/issues/8161"},"comments":{"href":"https://api.github.com/repos/apache/spark/issues/8161/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/spark/pulls/8161/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/spark/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/spark/pulls/8161/commits"},"statuses":{"href":"https://api.github.com/repos/apache/spark/statuses/2e091149e5a3c897f89eef8585af78bcb40c820a"}}}}