[AURON #2026] Migrate from deprecated JavaConverters to CollectionConverters.#2027
[AURON #2026] Migrate from deprecated JavaConverters to CollectionConverters.#2027slfan1989 wants to merge 1 commit intoapache:masterfrom
Conversation
…ionConverters. Signed-off-by: slfan1989 <slfan1989@apache.org>
There was a problem hiding this comment.
Pull request overview
This pull request migrates the codebase from the deprecated scala.collection.JavaConverters API to the modern scala.jdk.CollectionConverters API. The migration is enabled by adding the scala-collection-compat library (version 2.12.0) as a dependency, which provides a compatibility layer that ensures zero runtime behavioral changes in Scala 2.12 while preparing the codebase for future Scala 2.13+ migration.
Changes:
- Added
scala-collection-compatdependency (version 2.12.0) to pom.xml with proper dependency management configuration - Replaced all
scala.collection.JavaConverters._imports withscala.jdk.CollectionConverters._across 30 Scala files - Updated specific converter imports (e.g.,
asScalaBufferConverter,seqAsJavaListConverter) to use wildcard imports
Reviewed changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Added scala-collection-compat dependency property, dependencyManagement entry, and dependency declaration |
| thirdparty/auron-uniffle/src/main/scala/org/apache/spark/sql/execution/auron/shuffle/uniffle/AuronUniffleShuffleReader.scala | Updated JavaConverters import to CollectionConverters |
| thirdparty/auron-paimon/src/main/scala/org/apache/spark/sql/hive/execution/auron/plan/NativePaimonTableScanExec.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/hive/execution/auron/plan/NativeHiveTableScanBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeWindowBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeUnionBase.scala | Replaced specific converter import with wildcard CollectionConverters import |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeTakeOrderedBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeSortMergeJoinBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeSortBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeShuffledHashJoinBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeShuffleExchangeBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeRenameColumnsBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeProjectBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeParquetSinkBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeParquetScanBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeOrcScanBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeGenerateBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeFilterBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeFileSourceScanBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeExpandBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeBroadcastJoinBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeBroadcastExchangeBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/plan/NativeAggBase.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/columnar/ColumnarHelper.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/arrowio/util/ArrowWriter.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/execution/auron/arrowio/util/ArrowUtils.scala | Replaced specific converter imports with wildcard CollectionConverters import |
| spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/spark/sql/auron/AuronConverters.scala | Updated JavaConverters import to CollectionConverters |
| spark-extension/src/main/scala/org/apache/auron/metric/SparkMetricNode.scala | Updated JavaConverters import to CollectionConverters |
| auron-spark-tests/common/src/test/scala/org/apache/spark/sql/SparkQueryTestsBase.scala | Updated JavaConverters import to CollectionConverters |
| auron-spark-tests/common/src/test/scala/org/apache/auron/utils/SparkTestSettings.scala | Updated JavaConverters import to CollectionConverters |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@ShreyeshArangath Thank you for review the code! @cxzl25 Could you take another look at this PR? Thanks a lot! |
Which issue does this PR close?
Closes #2026
Rationale for this change
The codebase currently uses the deprecated
scala.collection.JavaConvertersAPI for Java-Scala collection conversions. This API was deprecated in Scala 2.13 in favor ofscala.jdk.CollectionConverters.Current issues:
The project already includes
scala-collection-compatdependency (version 2.12.0), which provides a compatibility layer allowing the use of modernscala.jdk.CollectionConvertersAPI in Scala 2.12 without any behavioral changes.What changes are included in this PR?
How this works with Scala 2.12:
The
scala-collection-compatlibrary provides a compatibility layer that:scala.jdk.CollectionConverterstoscala.collection.JavaConvertersscala.jdk.CollectionConvertersThis ensures zero runtime behavioral changes.
Are there any user-facing changes?
No. This is purely an internal code refactoring with no user-facing changes or behavioral differences.
How was this patch tested?
Existing unit tests pass.