@@ -36,6 +36,8 @@ object MimaExcludes {
36
36
37
37
// Exclude rules for 3.0.x
38
38
lazy val v30excludes = v24excludes ++ Seq (
39
+ // [SPARK-25908][CORE][SQL] Remove old deprecated items in Spark 3
40
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.BarrierTaskContext.isRunningLocally" ),
39
41
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.TaskContext.isRunningLocally" ),
40
42
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.executor.ShuffleWriteMetrics.shuffleBytesWritten" ),
41
43
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.executor.ShuffleWriteMetrics.shuffleWriteTime" ),
@@ -54,10 +56,13 @@ object MimaExcludes {
54
56
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.mllib.evaluation.MulticlassMetrics.precision" ),
55
57
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.ml.util.MLWriter.context" ),
56
58
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.ml.util.MLReader.context" ),
59
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.ml.util.GeneralMLWriter.context" ),
60
+
57
61
// [SPARK-25737] Remove JavaSparkContextVarargsWorkaround
58
62
ProblemFilters .exclude[MissingTypesProblem ](" org.apache.spark.api.java.JavaSparkContext" ),
59
63
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.api.java.JavaSparkContext.union" ),
60
64
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.streaming.api.java.JavaStreamingContext.union" ),
65
+
61
66
// [SPARK-16775] Remove deprecated accumulator v1 APIs
62
67
ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.Accumulable" ),
63
68
ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.AccumulatorParam" ),
@@ -77,14 +82,58 @@ object MimaExcludes {
77
82
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.api.java.JavaSparkContext.accumulable" ),
78
83
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.api.java.JavaSparkContext.doubleAccumulator" ),
79
84
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.api.java.JavaSparkContext.accumulator" ),
85
+
80
86
// [SPARK-24109] Remove class SnappyOutputStreamWrapper
81
87
ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.io.SnappyCompressionCodec.version" ),
88
+
82
89
// [SPARK-19287] JavaPairRDD flatMapValues requires function returning Iterable, not Iterator
83
90
ProblemFilters .exclude[IncompatibleMethTypeProblem ](" org.apache.spark.api.java.JavaPairRDD.flatMapValues" ),
84
91
ProblemFilters .exclude[IncompatibleMethTypeProblem ](" org.apache.spark.streaming.api.java.JavaPairDStream.flatMapValues" ),
92
+
85
93
// [SPARK-25680] SQL execution listener shouldn't happen on execution thread
86
94
ProblemFilters .exclude[IncompatibleResultTypeProblem ](" org.apache.spark.sql.util.ExecutionListenerManager.clone" ),
87
- ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.util.ExecutionListenerManager.this" )
95
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.util.ExecutionListenerManager.this" ),
96
+
97
+ // [SPARK-25862][SQL] Remove rangeBetween APIs introduced in SPARK-21608
98
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.functions.unboundedFollowing" ),
99
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.functions.unboundedPreceding" ),
100
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.functions.currentRow" ),
101
+ ProblemFilters .exclude[IncompatibleMethTypeProblem ](" org.apache.spark.sql.expressions.Window.rangeBetween" ),
102
+ ProblemFilters .exclude[IncompatibleMethTypeProblem ](" org.apache.spark.sql.expressions.WindowSpec.rangeBetween" ),
103
+
104
+ // [SPARK-23781][CORE] Merge token renewer functionality into HadoopDelegationTokenManager
105
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.deploy.SparkHadoopUtil.nextCredentialRenewalTime" ),
106
+
107
+ // Data Source V2 API changes
108
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.ContinuousReadSupport" ),
109
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.ReadSupport" ),
110
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.WriteSupport" ),
111
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.StreamWriteSupport" ),
112
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.MicroBatchReadSupport" ),
113
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsScanColumnarBatch" ),
114
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.DataSourceReader" ),
115
+ ProblemFilters .exclude[MissingTypesProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsPushDownRequiredColumns" ),
116
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ScanConfigBuilder.build" ),
117
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.InputPartition.createPartitionReader" ),
118
+ ProblemFilters .exclude[MissingTypesProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportStatistics" ),
119
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportStatistics.estimateStatistics" ),
120
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ReadSupport.fullSchema" ),
121
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ReadSupport.planInputPartitions" ),
122
+ ProblemFilters .exclude[MissingTypesProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportPartitioning" ),
123
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportPartitioning.outputPartitioning" ),
124
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportPartitioning.outputPartitioning" ),
125
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ReadSupport.fullSchema" ),
126
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ReadSupport.planInputPartitions" ),
127
+ ProblemFilters .exclude[MissingTypesProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsPushDownFilters" ),
128
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.sql.sources.v2.reader.ScanConfigBuilder.build" ),
129
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.ContinuousInputPartition" ),
130
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.InputPartitionReader" ),
131
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.streaming.ContinuousInputPartitionReader" ),
132
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.streaming.ContinuousReader" ),
133
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.streaming.MicroBatchReader" ),
134
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.writer.DataSourceWriter" ),
135
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.writer.DataWriterFactory.createWriter" ),
136
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.writer.streaming.StreamWriter" )
88
137
)
89
138
90
139
// Exclude rules for 2.4.x
@@ -164,7 +213,50 @@ object MimaExcludes {
164
213
ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.ml.param.shared.HasValidationIndicatorCol.validationIndicatorCol" ),
165
214
166
215
// [SPARK-23042] Use OneHotEncoderModel to encode labels in MultilayerPerceptronClassifier
167
- ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.ml.classification.LabelConverter" )
216
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.ml.classification.LabelConverter" ),
217
+
218
+ // [SPARK-21842][MESOS] Support Kerberos ticket renewal and creation in Mesos
219
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.deploy.SparkHadoopUtil.getDateOfNextUpdate" ),
220
+
221
+ // [SPARK-23366] Improve hot reading path in ReadAheadInputStream
222
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.io.ReadAheadInputStream.this" ),
223
+
224
+ // [SPARK-22941][CORE] Do not exit JVM when submit fails with in-process launcher.
225
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.deploy.SparkSubmit.addJarToClasspath" ),
226
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.deploy.SparkSubmit.mergeFileLists" ),
227
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.deploy.SparkSubmit.prepareSubmitEnvironment$default$2" ),
228
+
229
+ // Data Source V2 API changes
230
+ // TODO: they are unstable APIs and should not be tracked by mima.
231
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.ReadSupportWithSchema" ),
232
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsScanColumnarBatch.createDataReaderFactories" ),
233
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsScanColumnarBatch.createBatchDataReaderFactories" ),
234
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsScanColumnarBatch.planBatchInputPartitions" ),
235
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsScanUnsafeRow" ),
236
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.DataSourceReader.createDataReaderFactories" ),
237
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.DataSourceReader.planInputPartitions" ),
238
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsPushDownCatalystFilters" ),
239
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.DataReader" ),
240
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportStatistics.getStatistics" ),
241
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.reader.SupportsReportStatistics.estimateStatistics" ),
242
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.DataReaderFactory" ),
243
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.reader.streaming.ContinuousDataReader" ),
244
+ ProblemFilters .exclude[MissingClassProblem ](" org.apache.spark.sql.sources.v2.writer.SupportsWriteInternalRow" ),
245
+ ProblemFilters .exclude[DirectMissingMethodProblem ](" org.apache.spark.sql.sources.v2.writer.DataWriterFactory.createDataWriter" ),
246
+ ProblemFilters .exclude[ReversedMissingMethodProblem ](" org.apache.spark.sql.sources.v2.writer.DataWriterFactory.createDataWriter" ),
247
+
248
+ // Changes to HasRawPredictionCol.
249
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.ml.param.shared.HasRawPredictionCol.rawPredictionCol" ),
250
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.ml.param.shared.HasRawPredictionCol.org$apache$spark$ml$param$shared$HasRawPredictionCol$_setter_$rawPredictionCol_=" ),
251
+ ProblemFilters .exclude[InheritedNewAbstractMethodProblem ](" org.apache.spark.ml.param.shared.HasRawPredictionCol.getRawPredictionCol" ),
252
+
253
+ // [SPARK-15526][ML][FOLLOWUP] Make JPMML provided scope to avoid including unshaded JARs
254
+ (problem : Problem ) => problem match {
255
+ case MissingClassProblem (cls) =>
256
+ ! cls.fullName.startsWith(" org.spark_project.jpmml" ) &&
257
+ ! cls.fullName.startsWith(" org.spark_project.dmg.pmml" )
258
+ case _ => true
259
+ }
168
260
)
169
261
170
262
// Exclude rules for 2.3.x
0 commit comments