Remove JNI permissions, improve JNI testing. #10962
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We don't need to allow JNI loadLibrary permissions since this is easy to do up-front first (which we mostly do already). However, the testing around some of this is suboptimal, if you run tests with 4 jvms, one will get mlockall'd or get console control handler installed (depending on which jvm runs NativesTests). Nothing checks that sigar is working or is not.
So instead explicitly force any JNI stuff to be loaded (e.g. sigar happens implicitly today during the node initialization, but that could easily break somehow during refactoring). Do this also when running tests, and test that sigar works, test that windows control handler gets installed on windows, etc.