Summary
When running Apache Spark 4.1.0 with Scala 2.13.16 on the runtime classpath, Spark fails with a NoSuchMethodError on scala.util.hashing.MurmurHash3$.caseClassHash$default$2().
Filing to ask whether this method is expected to exist in Scala 2.13.16, or whether it was introduced in a later 2.13.x patch.
Reproduction
- Use Apache Spark 4.1.0
- Use Scala 2.13.16 on the runtime classpath
- Run any Spark code that exercises Catalyst (e.g. a basic DataFrame operation that triggers
TreeNode.hashCode)
Observed error
java.lang.NoSuchMethodError: 'java.lang.String scala.util.hashing.MurmurHash3$.caseClassHash$default$2()'
at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$_hashCode$1(TreeNode.scala:226)
at org.apache.spark.util.BestEffortLazyVal.apply(BestEffortLazyVal.scala:53)
at org.apache.spark.sql.catalyst.trees.TreeNode.hashCode(TreeNode.scala:227)
Questions
- Does
MurmurHash3.caseClassHash$default$2() exist in Scala 2.13.16, or was it introduced in a later 2.13.x patch?
- If it does not exist in 2.13.16, is that an expected outcome of patch version differences, or unintentional?
- Is there a recommended Scala 2.13.x patch version range for running Apache Spark 4.1.0?
Environment
- Scala 2.13.16 (runtime)
- Apache Spark 4.1.0
- JDK 17
Context
I work at Databricks. A customer hit this while running Spark 4.1.0 on a runtime that ships Scala 2.13.16. Filing here for clarity on the Scala side. Happy to provide a minimal reproducer if helpful.
Summary
When running Apache Spark 4.1.0 with Scala 2.13.16 on the runtime classpath, Spark fails with a
NoSuchMethodErroronscala.util.hashing.MurmurHash3$.caseClassHash$default$2().Filing to ask whether this method is expected to exist in Scala 2.13.16, or whether it was introduced in a later 2.13.x patch.
Reproduction
TreeNode.hashCode)Observed error
Questions
MurmurHash3.caseClassHash$default$2()exist in Scala 2.13.16, or was it introduced in a later 2.13.x patch?Environment
Context
I work at Databricks. A customer hit this while running Spark 4.1.0 on a runtime that ships Scala 2.13.16. Filing here for clarity on the Scala side. Happy to provide a minimal reproducer if helpful.