Skip to content

Backport Faiss-based vector format to 10.x #14843

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

Open
wants to merge 1 commit into
base: branch_10x
Choose a base branch
from

Conversation

kaivalnp
Copy link
Contributor

Description

Backport #14178 to 10.x

Summary of changes

  • Support for JDK21 via MR-JAR and runtime lookup (similar to other Panama-based classes here). This was tricky because some functions were renamed from JDK21 (https://openjdk.org/jeps/442) -> JDK22 (https://openjdk.org/jeps/454, where it was finalized) -- I'm using method handles to bind to the correct function at runtime
  • Allow native access to the libfaiss_c.so shared library from tests, enforced by the security manager
  • Change GH action to run on JDK21
  • Misc changes for the lower Java language level + 10.x branch

I also ran the Faiss tests offline with JDK 21, 22, 23, 24 using:

gradlew -p lucene/sandbox -Dtests.faiss.run=true test --tests "org.apache.lucene.sandbox.codecs.faiss.*"

..and they all passed!

Diff of relevant files

https://gist.github.com/kaivalnp/77fb274ebd3de22c500396e80bb5df3c

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