Skip to content

[MINOR][GRAPHX] Remove unused arpack_combined_all dependency - #58891

Open
david-mollitor-db wants to merge 1 commit into
apache:masterfrom
david-mollitor-db:graphx-drop-arpack
Open

david-mollitor-db wants to merge 1 commit into
apache:masterfrom
david-mollitor-db:graphx-drop-arpack

Conversation

@david-mollitor-db

@david-mollitor-db david-mollitor-db commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

This PR removes the redundant direct declaration of
net.sourceforge.f2j:arpack_combined_all (0.1) from graphx/pom.xml. That is
the only change -- the dependency manifest
(dev/deps/spark-deps-hadoop-3-hive-2.3) is intentionally left unchanged (see
below).

Why are the changes needed?

GraphX declares arpack_combined_all directly but does not use ARPACK:

  • GraphX has no eigenvalue-decomposition code. Its only netlib user,
    SVDPlusPlus, uses BLAS exclusively (org.apache.spark.ml.linalg.BLAS,
    backed by dev.ludovic.netlib:blas, which is retained). The only mentions of
    "arpack" in GraphX are comments in PageRankSuite referencing R's
    page_rank(..., algo = "arpack"), unrelated to this Java library.
  • ARPACK is used only by MLlib (ARPACK, EigenValueDecomposition,
    RowMatrix), which binds the modern dev.ludovic.netlib:arpack -- not the
    old F2J artifact.

The direct declaration is a leftover from the old com.github.fommil.netlib
era, before the migration to dev.ludovic.netlib, and it is redundant:
net.sourceforge.f2j:arpack_combined_all:0.1 is a compile-scope transitive
dependency of dev.ludovic.netlib:arpack:3.2.0 (the F2J reference
implementation behind the modern ARPACK), which MLlib declares
(mllib/pom.xml, version-managed in the root pom.xml). The artifact therefore
remains on the build's resolved classpath through MLlib regardless of GraphX's
declaration.

Because removing GraphX's explicit edge does not change what the build resolves,
this is a build-file cleanup only, and the dependency manifest is left as-is.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Relies on existing CI. dev/test-dependencies.sh validates that the committed
manifest matches the classpath Maven actually resolves; because
arpack_combined_all-0.1.jar is still pulled in transitively via
dev.ludovic.netlib:arpack, the resolved classpath is unchanged, the manifest
needs no update, and the check passes. This is a build-only change with no
runtime or test-behavior impact.

Was this patch authored or co-authored using generative AI tooling?

Generated-by: Isaac

This pull request and its description were written by Isaac.

GraphX declares `net.sourceforge.f2j:arpack_combined_all` but never references
it. Its only netlib user, `SVDPlusPlus`, uses BLAS (`dev.ludovic.netlib:blas`,
retained) exclusively, and GraphX has no eigenvalue-decomposition code. ARPACK
is used only by MLlib, which binds the modern `dev.ludovic.netlib:arpack`
instead. `arpack_combined_all` (0.1) is a leftover from the old
`com.github.fommil.netlib` era.

GraphX is the sole declarer of this artifact repo-wide, so removing it drops the
jar from the classpath; the dependency manifest is updated accordingly.

Co-authored-by: Isaac <no-reply@databricks.com>
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.

1 participant