leaves12138 opened a new pull request, #10100: URL: https://github.com/apache/paimon/pull/10100
### Purpose Fix `JNIUtils.load` skipping every subsequent JNI library after the first successful load. The global boolean initialization flag incorrectly treats different library names as the same library. Track successful initialization in a set keyed by `jniName`. Keep the existing synchronized loading path, skip only names that have already loaded successfully, and do not cache failed loads so they remain retryable. No public API changes. ### Tests - Reproduced the bug with two minimal native libraries: the original implementation never invokes the second library's `JNI_OnLoad`. - Ran a standalone regression harness against real native libraries on both Java 8 and Java 11: independent libraries, repeated loading, missing resources, retry after a resource becomes available, retry after a native-load failure, and 96 concurrent calls across three libraries. All 12 checks passed. - `mvn -q -pl paimon-common spotless:check` passed with Java 8. - `git diff --check` passed. The native regression harness is an external validation fixture; no platform-specific test binaries are added to the repository. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
