-
Notifications
You must be signed in to change notification settings - Fork 245
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
Scala 2.13 Support #8592
Merged
Merged
Scala 2.13 Support #8592
Changes from all commits
Commits
Show all changes
130 commits
Select commit
Hold shift + click to select a range
77e83c3
Preliminary Scala 2.13 build support, need to fix compilation errors
NVnavkumar 7c9a930
Handle 2 simple updates with scalastyle checks
NVnavkumar 5b41add
Update due to requirement of not importing scala.collection.Seq directly
NVnavkumar 02ef278
One round of code updates for Scala 2.13
NVnavkumar 8adb72e
Merge branch 'branch-23.10' into scala-213
NVnavkumar ef6a97d
Style fixes.
NVnavkumar a359bec
Update RAPIDS shuffle manager code to parallel use of scala.collectio…
NVnavkumar 65e3601
Handle usage of Seq in GpuBindReferences
NVnavkumar bc5d337
Sub partition hash join updates. Follow the recommended scala pattern…
NVnavkumar ce9054e
Handle ArrayStack usage in GpuSortExec and SortUtils
NVnavkumar 272725e
Regex parser fixes.
NVnavkumar cd7a132
Parquet Scan Seq usage.
NVnavkumar ac75ac6
Orc scan Seq usage.
NVnavkumar c5f7bff
Multi file reader Seq usage.
NVnavkumar 4b69ec9
Hive CTAS command fixes
NVnavkumar 4714ca6
miscellaneous scan usage of Seq
NVnavkumar 85c0af9
Fix procedure syntax.
NVnavkumar 144e442
Add procedure declaration checker since it's fully deprecated in Scal…
NVnavkumar a38a91a
Add scala versions here based on Spark
NVnavkumar a9bd68e
Merge branch 'branch-23.10' into scala-213
NVnavkumar 8db9a16
Move these files to scala 2.12 only compilation
NVnavkumar 69d7b44
Restore these to the original scala 2.12 compatible versions
NVnavkumar fec9f0c
Merge updates from upstream sort changes.
NVnavkumar abf994f
Forking Arm because of collection hierarchy handling
NVnavkumar 577e5a4
Updated forked versions for Scala 2.13
NVnavkumar 130e52c
Updated toSeq usage for Scala 2.13
NVnavkumar bf24baa
Handle forked scala-2.12 and scala-2.13 directories for build
NVnavkumar 220e0d3
For Scala 2.13 need to convert Set to Seq when using .map(). This is …
NVnavkumar 742e043
Need to fork aggregate.scala because of Product with Serialize supert…
NVnavkumar 6d50c1e
Handle failed implicit SAM conversion for Scala 2.13
NVnavkumar d993ec9
rewrite to a pure lambda to make it compile in 2.13
NVnavkumar 22e0354
Fix 3 more simple compile errors
NVnavkumar cfb4535
Add public override of interface method (in this case the default ove…
NVnavkumar 7e2cde2
The enqueue method with a single varargs list was removed in Scala 2.…
NVnavkumar 8c07562
Remove unneeded condition for Scala 2.13
NVnavkumar ef58914
This needs to take in scala.collection.Seq
NVnavkumar 3d95050
Add @SuppressWarnings annotation for Scala 2.13 support
NVnavkumar c3467b7
Fix Scala 2.13 compiler errors in shuffle-plugin
NVnavkumar df0d646
Merge branch 'branch-23.10' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 7f2fe5d
Fix Scala 2.13 compiler issues in udf-compiler
NVnavkumar e4868bb
Remove duplicate sections
NVnavkumar b041889
Fix delta-lake and datagen compile issues.
NVnavkumar 4aecd9a
Update scalatest files to compile with Scala 2.13
NVnavkumar aecfa13
Add all actual Scala 2.13 build versions.
NVnavkumar 8b794ae
Shimming this part of RAPIDS shuffle to handle Spark 3.4+ change tha…
NVnavkumar 66162df
Merge branch 'branch-23.10' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 282f8d3
Merge branch 'branch-23.10' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 2a6b6c6
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar ef7e49b
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 5bd1619
Fork this code to handle differences in ArrayBuffer with Scala 2.13
NVnavkumar 33d3370
Add Comment to clarify script is copied from Apache Spark
NVnavkumar 9363438
Change cast to Seq to using toSeq method
NVnavkumar 7123930
Handle Map properly for Scala 2.13
NVnavkumar 581f022
Fix NPE caused by Scala 2.13 Seq changes.
NVnavkumar b1ec78a
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 2c62f49
Fix some incorrect versions in pom.xml
NVnavkumar 5b7fe19
Build script updates
NVnavkumar 5fa0c4c
Skip decimal tests in arithmetic_ops_test that fail on Scala 2.13 CPU
NVnavkumar 6d2021c
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 67e52e9
Include Scala213 build profiles in dist pom
NVnavkumar 4c4cc23
Revert this change
NVnavkumar 0973c52
Remove commented out code
NVnavkumar 2499e45
Remove commented out code
NVnavkumar e2901c0
Address feedback, refactor Arm, and add reference to SPARK JIRA in in…
NVnavkumar 8d42334
Refactor aggregate.scala for 2.12/2.13 difference
NVnavkumar 4c0e448
Refactor GpuSortExec for 2.12/2.13
NVnavkumar 870d19d
Revert 2.13 pom changes
NVnavkumar f8866f9
Refactor GpuSorter out of SortUtils.scala to handle 2.13/2.12 differe…
NVnavkumar 85c8fa4
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 6aab915
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 06a558f
Fix scalastyle issue with importing SeqLike directly
NVnavkumar 46c414d
Fix some style issues.
NVnavkumar d49619e
Scala 2.13 build using separate directory
NVnavkumar 5c6f672
Remove the change-scala-version.sh script.
NVnavkumar 44669c9
Support delta lake source import for Scala 2.13
NVnavkumar 3cec238
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 9f41a3a
Cleanup Delta Lake source import for Scala 2.13
NVnavkumar a3ef04d
Fix some pom files for scala 2.13
NVnavkumar 919ac68
Make build/buildall work with Scala 2.13 to make proper plugin JAR
NVnavkumar 58a9632
Scala 2.13 documentation
NVnavkumar 865d6b8
Add required profile for scala 2.13 versions.
NVnavkumar 95171ec
Adding pre-merge GitHub workflow for Scala 2.13
NVnavkumar 53cc51c
this shouldn't skip the first version
NVnavkumar 9bcb289
Fix Scala version on artifactId on these poms
NVnavkumar 0b93bba
Fix scala versions in github pre-merge hook
NVnavkumar 7e34de0
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 1ae14cb
Shim update for CDH 3.3.2
NVnavkumar 924fe93
Another CDH 3.3.2 shim fix
NVnavkumar 4319799
Fix bug in profile name
NVnavkumar fd3407e
Shim update for CDH 3.3.2 in tests
NVnavkumar fbe7838
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 6c1c724
Fix premerge line for github scala build files check
NVnavkumar 83680b3
Update clean task to avoid 2.12 pom cleaning out Scala 2.13 files
NVnavkumar 56accae
Handle integration tests with resources
NVnavkumar f467272
Add premerge tests for Scala 2.13
NVnavkumar f17743a
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 9c90e17
Fix premerge script syntax error
NVnavkumar 6d671bd
Fix premerge script syntax error 2
NVnavkumar 1f3c5ad
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 1457ad9
Fix for Databricks refactors that were not merged in properly before
NVnavkumar fcde3eb
Merge branch 'scala-213' of github.com:NVnavkumar/spark-rapids into s…
NVnavkumar 046e9b5
Add log message for Scala version
NVnavkumar 7011a5a
Fix premerge profile for Scala 2.13
NVnavkumar 6279a06
Fix Jenkins MVN_URM_MIRROR
NVnavkumar 0892562
Need these to match up properly
NVnavkumar 82456ae
Revert this change
NVnavkumar 096d775
Create symlink when handling relative jenkins path
NVnavkumar ab25ace
Fix symlink command
NVnavkumar 835e29b
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar be09252
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar b8b6463
Fix toSeq issue in GpuSemaphore
NVnavkumar 6277529
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar e7301f6
Update noSnapshots profile in Scala2.13 for CI purposes.
NVnavkumar 4c359e7
Update premerge to run Integration tests for Scala 2.13
NVnavkumar c138485
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar 92dbb00
More pom file updates from upstream
NVnavkumar f52907c
Update premerge build script to separate out 2.13 tasks.
NVnavkumar 9fe0e49
Fixes for integration tests based on feedback
NVnavkumar db33a80
Merge branch 'branch-23.12' of github.com:NVIDIA/spark-rapids into sc…
NVnavkumar ffb45ba
Updates for pre-merge CI from Tim
NVnavkumar 4ed4815
signing off
NVnavkumar c88320b
Remove checking scala2.13 folder
NvTimLiu 5db5520
fix typo
NvTimLiu eb2dbd3
Refactor GpuSorter further to keep it in SortUtils and just shim out …
NVnavkumar b375ba3
remove commented out code and add comment for clarification
NVnavkumar e6409c8
Fix issue with copyrights
NVnavkumar b1e774c
use asIsntanceOf[...] to resolve this Scala 2.13/2.12 discrepancy
NVnavkumar bbb6750
Fix newline end of file
NVnavkumar 4a41342
Update documentation
NVnavkumar e0ff07c
Update documentation 2
NVnavkumar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,15 +21,17 @@ | |
|
||
<parent> | ||
<groupId>com.nvidia</groupId> | ||
<artifactId>rapids-4-spark-parent</artifactId> | ||
<artifactId>rapids-4-spark-parent_2.12</artifactId> | ||
<version>23.12.0-SNAPSHOT</version> | ||
<relativePath>../pom.xml</relativePath> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit/question: is |
||
</parent> | ||
<artifactId>rapids-4-spark-aggregator_2.12</artifactId> | ||
<name>RAPIDS Accelerator for Apache Spark Aggregator</name> | ||
<description>Creates an aggregated shaded package of the RAPIDS plugin for Apache Spark</description> | ||
<version>23.12.0-SNAPSHOT</version> | ||
|
||
<properties> | ||
<rapids.module>aggregator</rapids.module> | ||
<!-- | ||
we store ASM-relocated packages in /spark3xx parallel worlds in dist | ||
and they are auto-deduped using binary diff | ||
|
@@ -172,7 +174,9 @@ | |
<profile> | ||
<id>release311</id> | ||
<activation> | ||
<!-- #if scala-2.12 --> | ||
<activeByDefault>true</activeByDefault> | ||
<!-- #endif scala-2.12 --> | ||
<property> | ||
<name>buildver</name> | ||
<value>311</value> | ||
|
@@ -360,6 +364,9 @@ | |
<profile> | ||
<id>release330</id> | ||
<activation> | ||
<!-- #if scala-2.13 --><!-- | ||
<activeByDefault>true</activeByDefault> | ||
--><!-- #endif scala-2.13 --> | ||
<property> | ||
<name>buildver</name> | ||
<value>330</value> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
|
||
set -e | ||
|
||
VALID_VERSIONS=( 2.13 ) | ||
declare -A DEFAULT_SPARK | ||
DEFAULT_SPARK[2.12]="spark311" | ||
DEFAULT_SPARK[2.13]="spark330" | ||
|
||
usage() { | ||
echo "Usage: $(basename $0) [-h|--help] <version> | ||
where : | ||
-h| --help Display this help text | ||
valid version values : ${VALID_VERSIONS[*]} | ||
" 1>&2 | ||
exit 1 | ||
} | ||
|
||
if [[ ($# -ne 1) || ( $1 == "--help") || $1 == "-h" ]]; then | ||
usage | ||
fi | ||
|
||
TO_VERSION=$1 | ||
|
||
check_scala_version() { | ||
for i in ${VALID_VERSIONS[*]}; do [ $i = "$1" ] && return 0; done | ||
echo "Invalid Scala version: $1. Valid versions: ${VALID_VERSIONS[*]}" 1>&2 | ||
exit 1 | ||
} | ||
|
||
check_scala_version "$TO_VERSION" | ||
|
||
sed_i() { | ||
sed -e "$1" "$2" > "$2.tmp" && mv "$2.tmp" "$2" | ||
} | ||
|
||
BASEDIR=$(dirname $0)/.. | ||
if [ $TO_VERSION = "2.13" ]; then | ||
FROM_VERSION="2.12" | ||
SUBDIR="scala2.13" | ||
fi | ||
|
||
TO_DIR="$BASEDIR/$SUBDIR" | ||
mkdir -p $TO_DIR | ||
|
||
for f in $(git ls-files '**pom.xml'); do | ||
if [[ $f == $SUBDIR* ]]; then | ||
echo "Skipping $f" | ||
continue | ||
fi | ||
echo $f | ||
tof="$TO_DIR/$f" | ||
mkdir -p $(dirname $tof) | ||
cp -f $f $tof | ||
echo $tof | ||
sed_i 's/\(artifactId.*\)_'$FROM_VERSION'/\1_'$TO_VERSION'/g' $tof | ||
sed_i 's/^\([[:space:]]*<!-- #if scala-'$TO_VERSION' -->\)<!--/\1/' $tof | ||
sed_i 's/^\([[:space:]]*\)-->\(<!-- #endif scala-'$TO_VERSION' -->\)/\1\2/' $tof | ||
sed_i 's/^\([[:space:]]*<!-- #if scala-'$FROM_VERSION' -->\)$/\1<!--/' $tof | ||
sed_i 's/^\([[:space:]]*\)\(<!-- #endif scala-'$FROM_VERSION' -->\)/\1-->\2/' $tof | ||
done | ||
|
||
# Update spark.version to spark330.version for Scala 2.13 | ||
SPARK_VERSION=${DEFAULT_SPARK[$TO_VERSION]} | ||
sed_i '/<java\.major\.version>/,/<spark\.version>\${spark[0-9]\+\.version}</s/<spark\.version>\${spark[0-9]\+\.version}</<spark.version>\${'$SPARK_VERSION'.version}</' \ | ||
"$TO_DIR/pom.xml" | ||
|
||
sed_i '/<java\.major\.version>/,/<spark\.version>\${spark[0-9]\+\.version}</s/<spark\.version>\${spark[0-9]\+\.version}</<spark.version>\${'$SPARK_VERSION'.version}</' \ | ||
"$TO_DIR/pom.xml" | ||
|
||
# Update <scala.binary.version> in parent POM | ||
# Match any scala binary version to ensure idempotency | ||
sed_i '/<spark\-rapids\-jni\.version>/,/<scala\.binary\.version>[0-9]*\.[0-9]*</s/<scala\.binary\.version>[0-9]*\.[0-9]*</<scala.binary.version>'$TO_VERSION'</' \ | ||
"$TO_DIR/pom.xml" | ||
|
||
|
||
# Update <scala.version> in parent POM | ||
# Match any scala version to ensure idempotency | ||
SCALA_VERSION=$(mvn help:evaluate -Pscala-${TO_VERSION} -Dexpression=scala.version -q -DforceStdout) | ||
sed_i '/<spark\-rapids\-jni\.version>/,/<scala.version>[0-9]*\.[0-9]*\.[0-9]*</s/<scala\.version>[0-9]*\.[0-9]*\.[0-9]*</<scala.version>'$SCALA_VERSION'</' \ | ||
"$TO_DIR/pom.xml" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we get private artifact version under
scala2.13
dir though the version is the same?