Skip to content

[SPARK-43169][INFRA] Bump previousSparkVersion to 3.4.0#40830

Closed
LuciferYang wants to merge 3 commits into
apache:masterfrom
LuciferYang:mima-3.4
Closed

[SPARK-43169][INFRA] Bump previousSparkVersion to 3.4.0#40830
LuciferYang wants to merge 3 commits into
apache:masterfrom
LuciferYang:mima-3.4

Conversation

@LuciferYang

@LuciferYang LuciferYang commented Apr 18, 2023

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

The main change of this pr as follows:

  1. Bump MiMa's previousSparkVersion to 3.4.0
  2. Clean up expired rules and case match
  3. Add shaded and generated protobuf code exclude filters to defaultExcludes
  4. Increase the mem of mima check from 4096m to 4196m to avoid java.lang.OutOfMemoryError: GC overhead limit exceeded

Why are the changes needed?

To ensure that MiMa checks cover new APIs added in Spark 3.4.0.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Scala 2.12

dev/mima -Pscala-2.12

Scala 2.13

dev/change-scala-version.sh 2.13
dev/mima -Pscala-2.13

@github-actions github-actions Bot added the BUILD label Apr 18, 2023
@LuciferYang LuciferYang marked this pull request as draft April 18, 2023 03:24
Comment thread dev/mima
org.apache.spark.tools.GenerateMIMAIgnore

echo -e "q\n" | build/sbt -mem 4096 -DcopyDependencies=false "$@" mimaReportBinaryIssues | grep -v -e "info.*Resolving"
echo -e "q\n" | build/sbt -mem 4196 -DcopyDependencies=false "$@" mimaReportBinaryIssues | grep -v -e "info.*Resolving"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Add more 100m mem to avoid:

java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.lang.StringBuilder.toString(StringBuilder.java:412)
	at com.typesafe.tools.mima.core.MemberInfo.fullName(MemberInfo.scala:16)
	at com.typesafe.tools.mima.core.Problem.matchName(Problems.scala:19)
	at com.typesafe.tools.mima.core.ProblemFilters$ExcludeByName.apply(ProblemFilters.scala:12)
	at com.typesafe.tools.mima.core.ProblemFilters$ExcludeByName.apply(ProblemFilters.scala:8)
	at com.typesafe.tools.mima.core.ProblemReporting$.$anonfun$isReported$2(ProblemReporting.scala:27)
	at com.typesafe.tools.mima.core.ProblemReporting$.$anonfun$isReported$2$adapted(ProblemReporting.scala:27)
	at com.typesafe.tools.mima.core.ProblemReporting$$$Lambda$5945/1166075121.apply(Unknown Source)
	at scala.collection.Iterator.forall(Iterator.scala:955)
	at scala.collection.Iterator.forall$(Iterator.scala:953)
	at scala.collection.Iterator$ConcatIterator.forall(Iterator.scala:179)
	at com.typesafe.tools.mima.core.ProblemReporting$.isReported(ProblemReporting.scala:27)
	at com.typesafe.tools.mima.plugin.SbtMima$.isReported$1(SbtMima.scala:61)
	at com.typesafe.tools.mima.plugin.SbtMima$.$anonfun$reportModuleErrors$3(SbtMima.scala:70)
	at com.typesafe.tools.mima.plugin.SbtMima$.$anonfun$reportModuleErrors$3$adapted(SbtMima.scala:70)
	at com.typesafe.tools.mima.plugin.SbtMima$$$Lambda$5939/1088203167.apply(Unknown Source)
	at scala.collection.TraversableLike.noneIn$1(TraversableLike.scala:319)
	at scala.collection.TraversableLike.filterImpl(TraversableLike.scala:385)
	at scala.collection.TraversableLike.filterImpl$(TraversableLike.scala:297)
	at scala.collection.AbstractTraversable.filterImpl(Traversable.scala:108)
	at scala.collection.TraversableLike.filter(TraversableLike.scala:395)
	at scala.collection.TraversableLike.filter$(TraversableLike.scala:395)
	at scala.collection.AbstractTraversable.filter(Traversable.scala:108)
	at com.typesafe.tools.mima.plugin.SbtMima$.reportModuleErrors(SbtMima.scala:70)
	at com.typesafe.tools.mima.plugin.MimaPlugin$.$anonfun$projectSettings$2(MimaPlugin.scala:36)
	at com.typesafe.tools.mima.plugin.MimaPlugin$.$anonfun$projectSettings$2$adapted(MimaPlugin.scala:26)
	at com.typesafe.tools.mima.plugin.MimaPlugin$$$Lambda$5178/1097580344.apply(Unknown Source)
	at scala.collection.Iterator.foreach(Iterator.scala:943)
	at scala.collection.Iterator.foreach$(Iterator.scala:943)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
	at com.typesafe.tools.mima.plugin.MimaPlugin$.$anonfun$projectSettings$1(MimaPlugin.scala:26)
	at com.typesafe.tools.mima.plugin.MimaPlugin$.$anonfun$projectSettings$1$adapted(MimaPlugin.scala:25)
[error] [launcher] error during sbt launcher: java.lang.OutOfMemoryError: GC overhead limit exceeded

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@LuciferYang just to double check, did this happen very frequently? I wonder this memory setting makes our CI flaky

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Does the GA instance still allow us to add more memory? If possible, we should continue to increase.

I give #40862 to test on GA

If we cannot add more memory, we need to roll back this patch and refactor the mima check mechanism

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In the previous local testing, GC overhead limit exceeded not occur again for mem 4196, but I see that GA still has this issue.

@LuciferYang LuciferYang marked this pull request as ready for review April 18, 2023 05:10
@LuciferYang

Copy link
Copy Markdown
Contributor Author

cc @dongjoon-hyun @HyukjinKwon FYI

@HyukjinKwon

Copy link
Copy Markdown
Member

Merged to master.

@LuciferYang

Copy link
Copy Markdown
Contributor Author

Thanks @HyukjinKwon

@LuciferYang LuciferYang deleted the mima-3.4 branch March 30, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants