-
Notifications
You must be signed in to change notification settings - Fork 28.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPARK-18034] Upgrade to MiMa 0.1.11 to fix flakiness #15571
Conversation
Test build #67284 has finished for PR 15571 at commit
|
Hmm, looks like MiMa gained some new checks in its latest release:
|
Yep, this new MiMa inspection was added in lightbend-labs/mima#119:
Looking at our particular error, it appears that this was introduced by 61ef74f, which added a new It looks like /**
* Trait for shared param aggregationDepth (default: 2).
*/
private[ml] trait HasAggregationDepth extends Params {
/**
* Param for suggested depth for treeAggregate (>= 2).
* @group param
*/
final val aggregationDepth: IntParam = new IntParam(this, "aggregationDepth", "suggested depth for treeAggregate (>= 2)", ParamValidators.gtEq(2))
setDefault(aggregationDepth, 2)
/** @group getParam */
final def getAggregationDepth: Int = $(aggregationDepth)
} I think that a trait with fields / implementations compiles down to both an interface and an abstract class in Scala 2.10 / 2.11, so I imagine that this isn't actually a safe evolution of this class from a Java perspective, even though it technically adds no new abstract members. This is confirmed by one of the test cases in MiMa: https://github.com/dotta/migration-manager/tree/54d54a8d1d7f0da8909c860e734bc1335ddae4c4/reporter/functional-tests/src/test/trait-extending-new-trait-with-concrete-method-nok @dotta, to clarify the wording in your commit to MiMa, is it accurate to replace "abstract members" by just "members" and say that adding any members to a trait, abstract or concrete, can introduce a binary incompatibility if it wasn't already present in subclasses's existing hierarchy? |
@JoshRosen I could imagine us introducing this same issue in the future with more Params in sharedParams.scala (like |
I'm not super familiar with MLlib, but are the existing |
They currently aren't, but a lot of users want them to be. To make them available outside of Spark, we could create corresponding Java interfaces for them and expose those interfaces instead of the Scala traits. |
Gotcha. For now, I've added MiMa excludes to fix the build and plan to merge this as soon as tests pass since I want to fix the flakiness in our builds. We can revisit removing the exclude and fixing this later if we want to. |
Test build #67307 has finished for PR 15571 at commit
|
We should upgrade to the latest release of MiMa (0.1.11) in order to include a fix for a bug which led to flakiness in the MiMa checks (lightbend-labs/mima#115). Author: Josh Rosen <[email protected]> Closes #15571 from JoshRosen/SPARK-18034.
I've also merged this into |
We should upgrade to the latest release of MiMa (0.1.11) in order to include a fix for a bug which led to flakiness in the MiMa checks (lightbend-labs/mima#115). Author: Josh Rosen <[email protected]> Closes apache#15571 from JoshRosen/SPARK-18034.
We should upgrade to the latest release of MiMa (0.1.11) in order to include a fix for a bug which led to flakiness in the MiMa checks (lightbend-labs/mima#115). Author: Josh Rosen <[email protected]> Closes apache#15571 from JoshRosen/SPARK-18034.
We should upgrade to the latest release of MiMa (0.1.11) in order to include a fix for a bug which led to flakiness in the MiMa checks (lightbend-labs/mima#115).