<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>3838</buildNumber><marked><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><branch><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><branch><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><branch><SHA1>5fa57e79659e9dbe76a85f970686c6c1b44566a4</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://gitbox.apache.org/repos/asf/lucene.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='hudson.model.ParametersAction'></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>804</skipCount><totalCount>17828</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><description>Java: 64bit/hotspot/jdk-25.0.4 -XX:+UseCompressedOops -XX:+UseG1GC</description><displayName>#3838</displayName><duration>1004264</duration><estimatedDuration>844346</estimatedDuration><fullDisplayName>Lucene-MMAPv2-Windows #3838</fullDisplayName><id>3838</id><inProgress>false</inProgress><keepLog>false</keepLog><number>3838</number><queueId>225862</queueId><result>SUCCESS</result><timestamp>1785444900314</timestamp><url>https://jenkins.thetaphi.de/view/Lucene/job/Lucene-MMAPv2-Windows/3838/</url><builtOn>Windows VM</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lucene/core/src/java/org/apache/lucene/util/hnsw/UpdateGraphsUtils.java</affectedPath><affectedPath>lucene/CHANGES.txt</affectedPath><commitId>5fa57e79659e9dbe76a85f970686c6c1b44566a4</commitId><timestamp>1785425626000</timestamp><author><absoluteUrl>https://jenkins.thetaphi.de/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Fix join set degeneration on low-degree nodes (#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
</comment><date>2026-07-30 11:33:46 -0400</date><id>5fa57e79659e9dbe76a85f970686c6c1b44566a4</id><msg>Fix join set degeneration on low-degree nodes (#16435)</msg><path><editType>edit</editType><file>lucene/CHANGES.txt</file></path><path><editType>edit</editType><file>lucene/core/src/java/org/apache/lucene/util/hnsw/UpdateGraphsUtils.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.thetaphi.de/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>