AbsaOSS / AbsaOSS/spline-spark-agent

Change the POM and CD configs to make `agent-core` Spark specific

Open
#604 0 comments 0 reactions 0 assignees View on GitHub
Tech debt
Dominant language
Scala
Stars
210
Forks
102
Avg merge
1d 1h
Merged PRs (30d)
1

Description

Universal Spark version independent `agent-core` keeps making problems in transient dependency management.
We need to return to the concept of separate core build per major Spark version controlled by Maven profiles.
We could use Maven classifier to distinguish between versions.

https://www.baeldung.com/maven-artifact-classifiers

Reasoning:
1. No more `MethodNotFoundException` and other linkage errors because of binary incompatibility in transient dependencies of Spline and Spark
2. Avoiding dependency shading (e.g. `json4s`, see #602) that complicates running code in the local development mode and debugging
3. Clean and unambiguous dependencies and easy profile switching makes the development process easier and less error prone, thus more efficient.
4. The project structure would allow for solving potential breaking API changes in future Spark versions easier with ability to use additional Spark version specific source directories and adapters if there is a need for.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.