Skip to content

Add architecture-aware Spark updates - #57

Open
max199 wants to merge 1 commit into
igniterealtime:mainfrom
max199:feature/architecture-aware-updates
Open

Add architecture-aware Spark updates#57
max199 wants to merge 1 commit into
igniterealtime:mainfrom
max199:feature/architecture-aware-updates

Conversation

@max199

@max199 max199 commented Jul 27, 2026

Copy link
Copy Markdown

Summary

  • select Spark packages by operating system and runtime architecture
  • support x86, x64 and arm64 for Windows, macOS and Linux
  • preserve fallback to the existing spark.<os>.client properties
  • include the resolved filename and SHA-256 in updater responses
  • cache checksums while invalidating them when package size or timestamp changes
  • validate package paths and harden the download servlet
  • parse stable and pre-release versions from package filenames

Configuration

Architecture-specific properties use this form:

spark.<os>.<arch>.client

Examples:

spark.windows.x86.client
spark.windows.x64.client
spark.windows.arm64.client
spark.mac.x64.client
spark.mac.arm64.client
spark.linux.x86.client
spark.linux.x64.client
spark.linux.arm64.client

When an architecture-specific property is missing or blank, the plugin falls back to spark.windows.client, spark.mac.client or spark.linux.client. Older Spark clients that do not send an architecture therefore remain compatible.

Compatibility

The plugin continues to serve normal platform installers. It does not introduce a ZIP updater or a custom launcher.

This is the server-side companion to the Spark client pull request that reports the architecture and verifies downloaded packages:

igniterealtime/Spark#1026

Testing

  • mvn clean package
  • unit coverage for Windows, macOS and Linux property names across x86, x64 and arm64
  • version parsing tests for stable and release-candidate packages
  • SHA-256 calculation and cache invalidation tests

@stokito

stokito commented Jul 27, 2026

Copy link
Copy Markdown
Member

For the macOS the spark uses universal installer that works for both intel and arm.
The x86 is gone. The hash is not needed because it's enough of just a version.

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.

2 participants