Skip to content

build: scope native-access and Unsafe JVM flags to the modules that need them - #537

Merged
dfa1 merged 1 commit into
mainfrom
build/scope-jni-jvm-flags
Oct 13, 2026
Merged

dfa1 merged 1 commit into
mainfrom
build/scope-jni-jvm-flags

Conversation

@dfa1

@dfa1 dfa1 commented Oct 13, 2026

Copy link
Copy Markdown
Owner

The shared surefire argLine passed --enable-native-access=ALL-UNNAMED and --sun-misc-unsafe-memory-access=allow to every module. Both are now empty test.native.args / test.unsafe.args properties in the root pom, set only where the unit tests trip the matching JDK warning:

  • reader, writer: native access (our FFM zstd binding)
  • parquet: native access (zstd-jni System.loadLibrary)
  • cli: native access (PosixTerminal FFM) on top of its existing Unsafe flag
  • calcite: Unsafe (protobuf-java)

Each property has a comment naming the caller. Failsafe (integration) and bench keep their own flags, since vortex-jni/Arrow need them. ./mvnw verify passes and no restricted-method warning remains in any module. No CHANGELOG entry (build config).

🤖 Generated with Claude Code

…tests need them

The shared surefire argLine passed --enable-native-access and
--sun-misc-unsafe-memory-access=allow to every module. They are now empty
properties (test.native.args, test.unsafe.args) that reader, writer, parquet,
cli and calcite opt into, each with a comment naming the caller that needs it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dfa1
dfa1 merged commit e6b7c6f into main Oct 13, 2026
6 checks passed
@dfa1
dfa1 deleted the build/scope-jni-jvm-flags branch October 13, 2026 07:06
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