Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Part of #2619.
Depends on #2626 and #2628; this draft should merge after both prerequisites.
Adds a public no-argument
Lucene101ConfiguredHNSWCodecto the standard thin JAR. It reads namespaced JVM properties formaxConnandbeamWidth, validates them against the existing parameter bounds, snapshots them per construction, and preserves the existing codec and vector-format identities.The adapter is loaded explicitly by class name and is intentionally not a Lucene SPI provider. Unit tests cover validation, boundaries, repeated construction, snapshots, and identity. A fresh-JVM Java integration test loads the exact packaged thin JAR through
Class.newInstance()and verifies SPI exclusion; it does not execute PyLucene/JCC.The API generator now follows project-local superclass chains so indirect codec subclasses remain grouped under “Codecs and Formats.”
Automated stock-PyLucene coverage remains to be added in a cuVS Bench follow-up stacked on #2624 and this PR; #2619 remains open for that work. A manual Python 3.14.6 / PyLucene 10.2.0 JCC-surface probe against
target/cuvs-lucene-26.12.0.jar(SHA-256eb3b0a768100d37e196e37f99ae5ea750fb6bf274be228691e112f79fefe113f) constructed and cast the codec twice and propagated the missing-property error successfully.Testing
mvn spotless:check verify(334 passed, 30 skipped; 4/4 Failsafe integration tests passed)The first full run failed
TestCuVSGaps.testVectorSearchWithFilterAndAlternatingDocumentsat seed4E24026F4DCCD337. The same focused test and seed failed identically on cleanorigin/mainat102f099a; a subsequent full run passed. This is reported as a pre-existing, seed-specific randomized failure, not as an adapter regression or a previously documented known failure.