Skip to content

#122 spark4 upgrade - #124

Merged
lsulak merged 10 commits into
masterfrom
feature/122-spark4-upgrade
Oct 13, 2026
Merged

lsulak merged 10 commits into
masterfrom
feature/122-spark4-upgrade

Conversation

@MatloaItumeleng

@MatloaItumeleng MatloaItumeleng commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Adds support for Spark 4.

Release Notes

  • Adds support for Spark 4 / Scala 2.13 cross-build with Spark3/ Scala 2.12 and Scala 2.13
  • Adds Ansi-handling for Spark4
  • Bumps spark-commons from 0.6.3 to 1.0.0

Related

Closes #122
related to #123

@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

JaCoCo code coverage report - scala 2.12.20

Metric (instruction) Coverage Threshold Status
Overall 83.14% 80.0% ✅
Changed Files 93.46% 80.0% ✅
Report Coverage (O/Ch) Threshold (O/Ch) Status (O/Ch)
spark-data-standardization Jacoco Report - scala:2.12.20 83.14% / 93.46% 80.0% / 80.0% ✅/✅
File Path Coverage Threshold Status
Standardization.scala 84.4% 60.0% ✅
TypeParser.scala 94.18% 60.0% ✅

Run 35618146402 · Event: pull_request

dk1844
dk1844 previously approved these changes Oct 1, 2026

@yruslan yruslan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I just have a commend and a question.

It would be ideal if it can be tested with one of Aqueduct pipelines that has casting errors. But I understand that it is not easy to setup such a test. From my side, I'd be happy to merge this and release a new version. And when Aqueduct starts using the library, we can come back with bug reports in worst case.

Comment thread src/main/scala/za/co/absa/standardization/Standardization.scala
Comment thread .github/workflows/build.yml Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated

@lsulak lsulak left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this file must also be updated:

https://github.com/AbsaOSS/spark-data-standardization/blob/master/.github/workflows/release.yml

because there is nothing saying that Spark 4 + Java 17 artifact will be released - this is very important

@lsulak

lsulak commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Also, JaCoCo only runs on 2.12 / Spark 3.5, so the new Spark 4 code path has no coverage check.

…pdates , Scala doc added and ADR introduced for workaround
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

JaCoCo code coverage report - scala 2.13.17, spark 4.1.2

Metric (instruction) Coverage Threshold Status
Overall 78.2% 75.0% ✅
Changed Files 86.31% 80.0% ✅
Report Coverage (O/Ch) Threshold (O/Ch) Status (O/Ch)
spark-data-standardization Jacoco Report - spark:4.1.2 scala:2.13.17 78.2% / 86.31% 75.0% / 80.0% ✅/✅
File Path Coverage Threshold Status
Standardization.scala 91.82% 60.0% ✅
TypeParser.scala 85.76% 60.0% ✅

Run 38405390425 · Event: pull_request

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

JaCoCo code coverage report - scala 2.12.20, spark 3.5.7

Metric (instruction) Coverage Threshold Status
Overall 83.32% 80.0% ✅
Changed Files 93.96% 80.0% ✅
Report Coverage (O/Ch) Threshold (O/Ch) Status (O/Ch)
spark-data-standardization Jacoco Report - spark:3.5.7 scala:2.12.20 83.32% / 93.96% 80.0% / 80.0% ✅/✅
File Path Coverage Threshold Status
Standardization.scala 91.96% 60.0% ✅
TypeParser.scala 94.18% 60.0% ✅

Run 38405390425 · Event: pull_request

@MatloaItumeleng

Copy link
Copy Markdown
Contributor Author

Have done few updates workflows now run cross build for JaCoCo , build test and the release , README indicates how to build per Scala Spark minor version and the change in the artifact which will not conflict per version

yruslan
yruslan previously approved these changes Oct 13, 2026

@yruslan yruslan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I've only checked the logic changes and how they are testes. I didn't look at CI/CD bit.

It is very hard to predict all edge cases with Aqueduct compatibility. It might work best if these changes are released, maybe as an RC, and then Aqueduct can be built for Spark 4 and test it with Glue 6 in UAT. And if there is still a bug or a incompatible behavior, it can be reported and hotfixed.

@yruslan

yruslan commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Btw Alex and Kevin are planning to turn ANSI off for Spark 4 jobs as part of built-in configuration, so I am optimistic that there shouldn't be many issues with Aqueduct.

Comment thread .github/workflows/release.yml Outdated
lsulak
lsulak previously approved these changes Oct 13, 2026

@ABLL526 ABLL526 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, discussed on call.

@lsulak
lsulak merged commit 5f88c93 into master Oct 13, 2026
10 checks passed
@lsulak
lsulak deleted the feature/122-spark4-upgrade branch October 13, 2026 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scala 2.13.17 , Spark 4.1.1 version support

5 participants