Skip to content

Commit

Permalink
Fix version check.
Browse files Browse the repository at this point in the history
  • Loading branch information
viirya committed Apr 4, 2018
1 parent a2b6917 commit de93e65
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,7 @@ trait Params extends Identifiable with Serializable {
}
}

object Params {
private[ml] object Params {
/**
* Sets a default param value for a `Params`.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ private[ml] object DefaultParamsReader {

// For metadata file prior to Spark 2.4, there is no default section.
val (major, minor) = VersionUtils.majorMinorVersion(sparkVersion)
if (major >= 2 && minor >= 4) {
if (major > 2 || (major == 2 && minor >= 4)) {
setParams(instance, skipParams, isDefault = true)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,16 +217,27 @@ class DefaultReadWriteSuite extends SparkFunSuite with MLlibTestSparkContext
assert(myParams.isSet(myParams.intParamWithDefault))
}

test("Should raise error when read metadata without default field") {
val metadata = """{"class":"org.apache.spark.ml.util.MyParams",
test("Should raise error when read metadata without default field after Spark 2.4") {
val myParams = new MyParams("my_params")

val metadata1 = """{"class":"org.apache.spark.ml.util.MyParams",
|"timestamp":1518852502761,"sparkVersion":"2.4.0",
|"uid":"my_params",
|"paramMap":{"intParamWithDefault":0}}""".stripMargin
val parsedMetadata = DefaultParamsReader.parseMetadata(metadata)
val myParams = new MyParams("my_params")
val err = intercept[IllegalArgumentException] {
parsedMetadata.getAndSetParams(myParams)
val parsedMetadata1 = DefaultParamsReader.parseMetadata(metadata1)
val err1 = intercept[IllegalArgumentException] {
parsedMetadata1.getAndSetParams(myParams)
}
assert(err1.getMessage().contains("Cannot recognize JSON metadata"))

val metadata2 = """{"class":"org.apache.spark.ml.util.MyParams",
|"timestamp":1518852502761,"sparkVersion":"3.0.0",
|"uid":"my_params",
|"paramMap":{"intParamWithDefault":0}}""".stripMargin
val parsedMetadata2 = DefaultParamsReader.parseMetadata(metadata2)
val err2 = intercept[IllegalArgumentException] {
parsedMetadata2.getAndSetParams(myParams)
}
assert(err.getMessage().contains("Cannot recognize JSON metadata"))
assert(err2.getMessage().contains("Cannot recognize JSON metadata"))
}
}

0 comments on commit de93e65

Please sign in to comment.