Skip to content

Conversation

@uschindler
Copy link
Contributor

Hi @ChrisHegarty,
while working on #12667 and #12676 I noticed that the code which detects if vector module is enabled and readable has some limitations because it only looks into the boot layer.

If you create your own module layer with Lucene and the incubator module, Lucene does not detect it correctly. This code uses the ModuleLayer of the Lucene module and uses findModule to check if it is there (we do this in other Lucene code in the same way, e.g. to detect sun.misc.Unsafe,...). Only in case of unnamed module (then getLayer() returns null), then the code uses boot layer.

In addition to #12676 it also only calls thisModule.addReads(vectorModule) when it actually wants to enable it. For the pure check (e.g., java 17) ist does not add a read.

@uschindler uschindler added this to the 9.9.0 milestone Oct 13, 2023
@uschindler uschindler self-assigned this Oct 13, 2023
@uschindler uschindler merged commit dbda33f into apache:main Oct 15, 2023
asfgit pushed a commit that referenced this pull request Oct 15, 2023
@uschindler uschindler deleted the dev/betterVecModDetection branch October 15, 2023 10:48
clayburn added a commit to runningcode/lucene that referenced this pull request Oct 20, 2023
…ache.org

* upstream/main: (239 commits)
  Bound the RAM used by the NodeHash (sharing common suffixes) during FST compilation (apache#12633)
  Fix index out of bounds when writing FST to different metaOut (apache#12697) (apache#12698)
  Avoid object construction when linear searching arcs (apache#12692)
  chore: update the Javadoc example in Analyzer (apache#12693)
  coorect position on entry in CHANGES.txt
  Refactor ByteBlockPool so it is just a "shift/mask big array" (apache#12625)
  Extract the hnsw graph merging from being part of the vector writer (apache#12657)
  Specialize `BlockImpactsDocsEnum#nextDoc()`. (apache#12670)
  Speed up TestIndexOrDocValuesQuery. (apache#12672)
  Remove over-counting of deleted terms (apache#12586)
  Use MergeSorter in StableStringSorter (apache#12652)
  Use radix sort to speed up the sorting of terms in TermInSetQuery (apache#12587)
  Add timeouts to github jobs. Estimates taken from empirical run times (actions history), with a generous buffer added. (apache#12687)
  Optimize OnHeapHnswGraph's data structure (apache#12651)
  Add createClassLoader to replicator permissions (block specific to jacoco). (apache#12684)
  Move changes entry before backporting
  CHANGES
  Move testing properties to provider class (no classloading deadlock possible) and fallback to default provider in non-test mode
  simple cleanups to vector code (apache#12680)
  Better detect vector module in non-default setups (e.g., custom module layers) (apache#12677)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants