mayya-sharipova opened a new pull request, #16435:
URL: https://github.com/apache/lucene/pull/16435

   UpdateGraphsUtils#computeJoinSet asked for a coverage of 2 for every node 
with a degree below 9, including nodes with a degree of 1. Such a node can be 
covered at most once (only its neighbours can cover it), so the coverage was 
unsatisfiable and the node always ended up in the join set itself.
   
   On hub-and-spoke shaped graphs, which HNSW produces for 1-dimensional or 
heavily duplicated vectors, almost all nodes have a degree of 1, so the join 
set degenerated to the whole graph and merging lost all its savings. Clamp the 
requested coverage by the node's degree; graphs where all nodes have a degree 
of 2 or more are unaffected.
   
   Fixes #16251


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to