Skip to content

MLE-31165 Bumping to Spark 4.2.0 - #658

Open
rjrudin wants to merge 1 commit into
developfrom
feature/bump-spark
Open

MLE-31165 Bumping to Spark 4.2.0#658
rjrudin wants to merge 1 commit into
developfrom
feature/bump-spark

Conversation

@rjrudin

@rjrudin rjrudin commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

This matches the Spark connector. Makes necessary bumps to Hadoop and the AWS SDK as well.

Copilot AI review requested due to automatic review settings July 28, 2026 19:23

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.

Pull request overview

Updates Flux’s dependency alignment to match the Spark connector by bumping Spark to 4.2.0, updating related Hadoop/AWS SDK versions, and centralizing the Jackson version to keep the enforced Jackson range consistent with Spark/LangChain4j constraints.

Changes:

  • Bump Spark to 4.2.0 and Hadoop to 3.5.0, with AWS SDK aligned to the Hadoop-selected version.
  • Add a jacksonVersion property and wire root dependency resolution to use it (instead of a hard-coded value).
  • Add a forced lz4-java patch version to address a CVE via Gradle resolutionStrategy.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
gradle.properties Bumps Spark/Hadoop/AWS SDK versions and introduces jacksonVersion for centralized version control.
flux-cli/build.gradle Adds a forced lz4-java version and adjusts Spark dependency handling accordingly.
build.gradle Uses jacksonVersion when forcing Jackson modules to 2.21.x.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread gradle.properties Outdated
This matches the Spark connector. Makes necessary bumps to Hadoop and the AWS SDK as well.

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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (2)

flux-cli/src/test/java/com/marklogic/flux/api/GenericFilesImporterTest.java:100

  • The test currently contains commented-out assertions and a temporary explanation tied to an external connector PR. This makes the test harder to maintain and will require another edit when the connector behavior changes again. Prefer asserting on the common contract (exception message) while allowing either FluxException or ConnectorException until the underlying behavior is stabilized.
        // This is currently catching a ConnectorException instead of a FluxException due to a change in the Spark
        // connector via PR 683 for the Spark connector. That change should be undone with the real fix being that
        // FailedRequest should become serializable in the Java Client.
//        FluxException ex = assertThrows(FluxException.class, command::execute);
        ConnectorException ex = assertThrows(ConnectorException.class, command::execute);

flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportOrcFilesTest.java:174

  • abortOnReadFailure is intended to test the ORC import command, but this method invokes "import-parquet-files" (a few lines above). That means the test is exercising the wrong CLI command and may miss regressions in the ORC path.
            "--permissions", DEFAULT_PERMISSIONS
        );

        assertTrue(stderr.contains("Command failed") && stderr.contains("footer is too large"),

Comment thread flux-cli/build.gradle
Comment on lines 25 to 28
implementation("org.apache.spark:spark-sql_2.13:${sparkVersion}") {
// The rocksdbjni dependency weighs in at 50mb and so far does not appear necessary for our use of Spark.
exclude module: "rocksdbjni"

// As of Spark 4.1.1, Spark is depending on a 1.8.x version of lz4-java that has two
// CVEs. According to https://github.com/yawkat/lz4-java, patched versions should now be obtained from
// that repository. Once Spark uses a patched version, this exclusion can be removed.
exclude module: "lz4-java"
}
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.

3 participants