Skip to content

Forward-merge release/26.08 into main - #2350

Merged
GPUtester merged 1 commit into
mainfrom
release/26.08
Jul 22, 2026
Merged

Forward-merge release/26.08 into main#2350
GPUtester merged 1 commit into
mainfrom
release/26.08

Conversation

@rapids-bot

@rapids-bot rapids-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Forward-merge triggered by push to release/26.08 that creates a PR to keep main up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge. See forward-merger docs for more info.

Fixes a bug in IVF-Flat and IVF-SQ `extend()` where a list could receive new vectors but keep its old logical `list::size`.

The issue happens when extending a list that already has enough allocated capacity. Interleaved IVF list storage may be padded, so the old copy extent can be larger than the old logical size.

Example:

```text
old logical size: 100
old padded copy size: 128
new logical size: 120
```

Previously, `resize_list()` received only the padded value, `128`, and used it both for copying old storage and for deciding whether `list::size` needed to be updated. It checked `120 <= 128`, skipped the update, and left `list::size == 100` even though new vectors were inserted up to `120`.

This stale size can break the shared-list / copy-on-write logic in later extends and corrupt search results.

## Fix

Update the `make_list_extents` in IVF-Flat and IVF-SQ to round up the list extents on creation, so that the extents always carry the "physical" size, then remove the rounding up from other places, so that the `list::size` value is always the "logical" size. This mirrors the current IVF-PQ approach.

## Tests

Added regression tests for:

```text
IVF-Flat repeated extend from a shared base index with enough existing capacity
IVF-SQ in-place extend with enough existing capacity
```

Authors:
  - https://github.com/qwertyforce
  - Artem M. Chirkin (https://github.com/achirkin)
  - Tamas Bela Feher (https://github.com/tfeher)

Approvers:
  - Tamas Bela Feher (https://github.com/tfeher)
  - https://github.com/huuanhhuyn

URL: #2297
@rapids-bot
rapids-bot Bot requested a review from a team as a code owner July 22, 2026 17:11
@GPUtester
GPUtester merged commit 59e6376 into main Jul 22, 2026
@rapids-bot

rapids-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

SUCCESS - forward-merge complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants