-
Notifications
You must be signed in to change notification settings - Fork 874
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
Update maven-indexer to 7.1.3 and lucene to 9.11.0 #7460
Conversation
have to investigate
although this might be one of my drives failing. edit: this was indeed one of my SSDs which had errors on the file system |
The change to the module list, adding an incubation module, looks like a bad idea to me. It will break once |
Lets say vector api goes final in JDK 25, all we have to do is to switch from the preview module to the final module for NB 2x. We can't really give forward compatibility promises for NB - it is on a best effort basis. So lets say JDK 25 changes the vector api while making it final and lucene is unlucky and the binding breaks, it is outside our control anyway (no matter what flags are set). |
you are right. so we probably shouldn't do that |
Where does this come from? This: matthias@enterprise:~$ java --add-modules=X test.java
Error occurred during initialization of boot layer
java.lang.module.FindException: Module X not found
matthias@enterprise:~$ looks like the VM will fail hard. |
the remaining question is should we set |
From my POV it would make sense to set it. It will most probably be necessary in the future anyway. If I understand the recent discussions on the openjdk mailinglists correctly, JNI loading will become restricted the same way as the foreign API (panama) and modules using JNI will need to be cleared the same way. To my understanding this will also affect JNA, which used JNI to load its FFI interface. The option is also guarded by the matthias@enterprise:~$ ~/bin/jdk-11/bin/java -XX:+IgnoreUnrecognizedVMOptions --enable-native-access=ALL-UNNAMED test.java
Geht
matthias@enterprise:~$ ~/bin/jdk-11/bin/java --enable-native-access=ALL-UNNAMED test.java
Unrecognized option: --enable-native-access=ALL-UNNAMED
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
matthias@enterprise:~$ |
- enabled --enable-native-access=ALL-UNNAMED - lucene's vector API binding can be manually activated by adding --add-modules=jdk.incubator.vector to the launch config
I just noticed that lucene turns off its vector binding on JDK 23 which is a bit unfortunate (they are also using gradle so they likely can't build on it yet). Maybe there will be another lucene release before NB 23 is out so we can update it in time.
PR updated, it sets only the native access flag now |
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.
Only eyeballed, but change looks sane.
--enable-native-access=ALL-UNNAMED
--add-modules=jdk.incubator.vector
to the launch configlog:
something we could potentially enable
output on JDK 21+ with
--enable-native-access=ALL-UNNAMED
and--add-modules=jdk.incubator.vector
set:The JDK 17 launcher seems to ignore
--enable-native-access
without a message. (NB is setting-XX:+IgnoreUnrecognizedVMOptions
already anyway):