-
Notifications
You must be signed in to change notification settings - Fork 96
fix: issue with class names in arrow-c jni calls #867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There are quite few git actions failing but it looks like consistent with other PRs, running locally all tests are ok ➜ c git:(fix_866_jni_class_names) ✗ mvn -Darrow.c.jni.dist.dir=/Users/marko/git/arrow-java/java-dist/lib -Parrow-c-data clean test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: osx
[INFO] os.detected.arch: aarch_64
[INFO] os.detected.bitness: 64
[INFO] os.detected.version: 26.0
[INFO] os.detected.version.major: 26
[INFO] os.detected.version.minor: 0
[INFO] os.detected.classifier: osx-aarch_64
[INFO]
[INFO] -------------------< org.apache.arrow:arrow-c-data >--------------------
[INFO] Building Arrow Java C Data Interface 19.0.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.4.1:clean (default-clean) @ arrow-c-data ---
[INFO] Deleting /Users/marko/git/arrow-java/c/target
[INFO]
[INFO] --- enforcer:3.5.0:enforce (enforce-maven-version) @ arrow-c-data ---
[INFO] Rule 0: org.apache.maven.enforcer.rules.version.RequireMavenVersion passed
[INFO]
[INFO] --- enforcer:3.5.0:enforce (enforce-java-version) @ arrow-c-data ---
[INFO] Rule 0: org.apache.maven.enforcer.rules.version.RequireJavaVersion passed
[INFO]
[INFO] --- checkstyle:3.6.0:check (validate) @ arrow-c-data ---
[INFO] Loaded from the build cache, saving 0.596s
[INFO]
[INFO] --- git-commit-id:4.9.10:revision (for-jars) @ arrow-c-data ---
[INFO]
[INFO] --- remote-resources:3.3.0:process (process-resource-bundles) @ arrow-c-data ---
[INFO] Preparing remote bundle org.apache.apache.resources:apache-jar-resource-bundle:1.7
[INFO] Copying 3 resources from 1 bundle.
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ arrow-c-data ---
[INFO] Copying 1 resource from ../java-dist/lib to target/classes
[INFO] Copying 3 resources from target/maven-shared-archive-resources to target/classes
[INFO]
[INFO] --- compiler:3.14.0:compile (default-compile) @ arrow-c-data ---
[WARNING] ****************************************************************************************************************************************************
[WARNING] * Required filename-based automodules detected: [flatbuffers-java-25.2.10.jar]. Please don't publish this project to a public artifact repository! *
[WARNING] ****************************************************************************************************************************************************
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 25 source files with javac [forked debug release 11 module-path] to target/classes
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ arrow-c-data ---
[INFO] skip non existing resourceDirectory /Users/marko/git/arrow-java/c/src/test/resources
[INFO] Copying 3 resources from target/maven-shared-archive-resources to target/test-classes
[INFO]
[INFO] --- compiler:3.14.0:testCompile (default-testCompile) @ arrow-c-data ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 9 source files with javac [forked debug release 11] to target/test-classes
[INFO]
[INFO] --- surefire:3.5.2:test (default-test) @ arrow-c-data ---
[WARNING] Could not extract goal execution properties.
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
WARNING: Unknown module: org.apache.arrow.memory.core specified to --add-opens
WARNING: Unknown module: org.apache.arrow.memory.core specified to --add-opens
[INFO] Running org.apache.arrow.c.NativeUtilTest
[INFO] Running org.apache.arrow.c.FormatTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 s -- in org.apache.arrow.c.FormatTest
19:55:06.129 [main] INFO org.apache.arrow.memory.BaseAllocator -- Debug mode disabled. Enable with the VM option -Darrow.memory.debug.allocator=true.
19:55:06.131 [main] INFO org.apache.arrow.memory.DefaultAllocationManagerOption -- allocation manager type not specified, using netty as the default type
19:55:06.132 [main] INFO org.apache.arrow.memory.CheckAllocator -- Using DefaultAllocationManager at memory-unsafe/19.0.0-SNAPSHOT/arrow-memory-unsafe-19.0.0-SNAPSHOT.jar!/org/apache/arrow/memory/unsafe/DefaultAllocationManagerFactory.class
19:55:06.133 [main] DEBUG org.apache.arrow.memory.util.MemoryUtil -- Constructor for direct buffer found and made accessible
19:55:06.134 [main] DEBUG org.apache.arrow.memory.util.MemoryUtil -- direct buffer constructor: available
19:55:06.135 [main] DEBUG org.apache.arrow.memory.rounding.DefaultRoundingPolicy -- -Dorg.apache.memory.allocator.pageSize: 8192
19:55:06.135 [main] DEBUG org.apache.arrow.memory.rounding.DefaultRoundingPolicy -- -Dorg.apache.memory.allocator.maxOrder: 11
[INFO] Running org.apache.arrow.c.MetadataTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.043 s -- in org.apache.arrow.c.NativeUtilTest
[INFO] Running org.apache.arrow.c.StreamTest
19:55:06.164 [main] INFO org.apache.arrow.memory.BaseAllocator -- Debug mode disabled. Enable with the VM option -Darrow.memory.debug.allocator=true.
19:55:06.167 [main] INFO org.apache.arrow.memory.DefaultAllocationManagerOption -- allocation manager type not specified, using netty as the default type
19:55:06.167 [main] INFO org.apache.arrow.memory.CheckAllocator -- Using DefaultAllocationManager at memory-unsafe/19.0.0-SNAPSHOT/arrow-memory-unsafe-19.0.0-SNAPSHOT.jar!/org/apache/arrow/memory/unsafe/DefaultAllocationManagerFactory.class
19:55:06.169 [main] DEBUG org.apache.arrow.memory.util.MemoryUtil -- Constructor for direct buffer found and made accessible
19:55:06.170 [main] DEBUG org.apache.arrow.memory.util.MemoryUtil -- direct buffer constructor: available
19:55:06.170 [main] DEBUG org.apache.arrow.memory.rounding.DefaultRoundingPolicy -- -Dorg.apache.memory.allocator.pageSize: 8192
19:55:06.170 [main] DEBUG org.apache.arrow.memory.rounding.DefaultRoundingPolicy -- -Dorg.apache.memory.allocator.maxOrder: 11
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 s -- in org.apache.arrow.c.MetadataTest
[INFO] Running org.apache.arrow.c.FlagsTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s -- in org.apache.arrow.c.FlagsTest
[INFO] Running org.apache.arrow.c.RoundtripTest
19:55:06.626 [main] DEBUG org.apache.arrow.vector.complex.AbstractContainerVector -- Field [boolean] mutated to [BitVector]
19:55:06.626 [main] DEBUG org.apache.arrow.vector.complex.AbstractContainerVector -- Field [varchar] mutated to [VarCharVector]
19:55:06.627 [main] DEBUG org.apache.arrow.vector.complex.AbstractContainerVector -- Field [boolean] mutated to [BitVector]
19:55:06.627 [main] DEBUG org.apache.arrow.vector.complex.AbstractContainerVector -- Field [varchar] mutated to [VarCharVector]
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.468 s -- in org.apache.arrow.c.StreamTest
[INFO] Running org.apache.arrow.c.DictionaryTest
19:55:06.640 [main] DEBUG org.apache.arrow.vector.ipc.ArrowWriter -- RecordBatch at 152, metadata: 144, body: 32
19:55:06.640 [main] DEBUG org.apache.arrow.vector.ipc.ArrowWriter -- RecordBatch at 328, metadata: 144, body: 24
19:55:06.640 [main] DEBUG org.apache.arrow.vector.ipc.ArrowWriter -- RecordBatch at 496, metadata: 144, body: 32
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 144
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 136
19:55:06.641 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 32
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 136
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 24
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 136
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 32
19:55:06.642 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
19:55:06.643 [main] DEBUG org.apache.arrow.vector.ipc.ReadChannel -- Reading buffer with size: 4
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 s -- in org.apache.arrow.c.DictionaryTest
[INFO] Running org.apache.arrow.c.ArrowArrayUtilityTest
[INFO] Tests run: 62, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.442 s -- in org.apache.arrow.c.RoundtripTest
[INFO] Running org.apache.arrow.c.ExceptionTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s -- in org.apache.arrow.c.ArrowArrayUtilityTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.020 s -- in org.apache.arrow.c.ExceptionTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 96, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.402 s
[INFO] Finished at: 2025-10-02T20:55:06+01:00
[INFO] ------------------------------------------------------------------------
[INFO] 11 goals, 10 executed, 1 from cache
[INFO] Build cache (/Users/marko/.m2/.develocity/build-cache/v1) removing files not accessed on or after Thu Sep 25 20:55:06 IST 2025.
[INFO] Build cache (/Users/marko/.m2/.develocity/build-cache/v1) cleanup deleted 0 files/directories.
[INFO] Build cache (/Users/marko/.m2/.develocity/build-cache/v1) cleaned up in 0.001 secs.
|
lidavidm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I guess HotSpot doesn't care but GraalVM does?
|
GraalVM only complains when code is running as part of native-image, if you run it as java it will not complain, everything works as expected. It was one deep rabbit hole finding what the issue was. thanks for merging @lidavidm |
|
Thanks for figuring it out! I will try to update the docs when I get a chance... |
|
one last question, whats the time frame for 19 release ? |
|
CC @jbonofre, we are trying to do a release but as you saw we need to clean up our CI :) |
|
I'm on it: clean ci and release when green. |
|
I need to work on apache/arrow#47632 for this... |
What's Changed
Arrow C JNI code used class names which are not according to specification, making code unusable in latest graalvm 25.
This PR changes class names according to JNI specification. More details at #866
Closes #866