Skip to content

#483: Spark 4+Java17 compatibility (Agent) - #486

Merged
lsulak merged 24 commits into
masterfrom
feature/483-spark-4-compatibility
Oct 16, 2026
Merged

lsulak merged 24 commits into
masterfrom
feature/483-spark-4-compatibility

Conversation

@lsulak

@lsulak lsulak commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Updating Atum Agent to be compatible with Spark 4 and Java 17.

Release Notes

  • Making Atum Agent compatible with Spark 4.0.x whilst keeping it also compatible with Spark 3.5.x

Related

Closes #483

Note: I will manually change the Rulesets (required CI checks) to cater for my changes here - I changed some jobs' names.

Note: I did not drop support of Scala 2.11, I found out that it was dropped a long time ago and what I deleted was an unused variable: #196

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

JaCoCo Coverage Report

Metric (instruction) Coverage Threshold Status
Overall 65.72% 64.0% ✅
Changed Files 85.22% 80.0% ✅
Group Coverage (O/Ch) Threshold (O/Ch) Status (O/Ch)
atum-agent 82.73% / 85.22% 78.0% / 80.0% ✅/✅
Report Coverage (O/Ch) Threshold (O/Ch) Status (O/Ch)
Report: agent_spark3 - scala:2.13.18 82.73% / 85.22% 78.0% / 80.0% ✅/✅
File Path Coverage Threshold Status
HttpDispatcher.scala 85.57% 60.0% ✅
Logging.scala 100.0% 60.0% ✅
Measure.scala 83.44% 60.0% ✅
MeasuresBuilder.scala 95.12% 60.0% ✅

Run 38914383992 · Event: pull_request

Copilot AI lite review requested due to automatic review settings September 24, 2026 11:16

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Measure.scala must safely preserve nested column resolution when constructing the try_cast expression.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Updates Atum Agent for Spark 4, Java 17, and Scala 2.13 compatibility while retaining Spark 3.5 support.

Changes:

  • Adds Spark/Scala/Java build and CI matrix coverage.
  • Replaces Spark-internal logging with SLF4J.
  • Updates aggregation casting and documentation.
File Summary
README.md Documents supported compatibility versions and usage.
project/​VersionAxes.scala Configures Spark-specific Scala and Java targets.
project/​Setup.scala Defines Java and Scala compatibility settings.
project/​Dependencies.scala Adds Spark 4 dependencies.
build.sbt Adds Spark 4 build matrix entries.
agent/​src/​test/​scala/​za/​co/​absa/​atum/​agent/​model/​MeasureUnitTests.scala Adds ANSI casting coverage.
agent/​src/​test/​resources/​logback.xml Removes agent-specific logging configuration.
agent/​src/​main/​scala/​za/​co/​absa/​atum/​agent/​model/​MeasuresBuilder.scala Migrates warning logging to SLF4J.
agent/​src/​main/​scala/​za/​co/​absa/​atum/​agent/​model/​Measure.scala Uses try_cast for string aggregation.
agent/​src/​main/​scala/​za/​co/​absa/​atum/​agent/​dispatcher/​HttpDispatcher.scala Migrates dispatcher logging.
agent/​src/​main/​scala/​za/​co/​absa/​atum/​agent/​dispatcher/​ConsoleDispatcher.scala Migrates console logging.
agent/​src/​main/​scala/​za/​co/​absa/​atum/​agent/​core/​Logging.scala Adds the SLF4J logging abstraction.
.sbtrc Adds Spark-specific test and documentation aliases.
.github/​workflows/​release_publish.yml Uses Java 17 for publishing.
.github/​workflows/​license_check.yml Updates Java setup.
.github/​workflows/​jacoco_report.yml Updates Java setup.
.github/​workflows/​format_check.yml Updates Java setup.
.github/​workflows/​build.yml Adds Spark and Java CI matrix coverage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@yruslan yruslan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I haven't finished looking through the PR. So far looks great to me, with couple of comments to confider, possibly in future PRs

Comment thread agent/src/test/resources/logback.xml Resolved
Comment thread project/Dependencies.scala Resolved
yruslan
yruslan previously approved these changes Oct 5, 2026

@yruslan yruslan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good to me

@lsulak
lsulak merged commit 6760fdc into master Oct 16, 2026
12 checks passed
@lsulak
lsulak deleted the feature/483-spark-4-compatibility branch October 16, 2026 16:38
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.

Adopt Atum Agent and Reader to work for Spark 4

3 participants