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]
