Skip to content

Move the proto-free vector index test helpers into the core test fixtures - #4678

Draft
normen662 wants to merge 1 commit into
apple/normen662/guardiann-test-fixtures/2-guardiann-fixturesfrom
apple/normen662/guardiann-test-fixtures/3-core-vector-fixtures
Draft

normen662 wants to merge 1 commit into
apple/normen662/guardiann-test-fixtures/2-guardiann-fixturesfrom
apple/normen662/guardiann-test-fixtures/3-core-vector-fixtures

Conversation

@normen662

@normen662 normen662 commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Moves the vector index test helpers that don't depend on a record proto from VectorIndexTestBase and GuardiannVectorIndexConcurrentMergeTest into a new VectorIndexTestSupport in the core test fixtures, so that they are published with them (see #4676) and can be reused with other record protos.

  • Merging a vector index (once, or to completion) and checking it for outstanding work.
  • Building a by-distance index plan for a query vector of any precision and dimensionality (the literal's type now comes from the query vector instead of a hard-coded VECTOR(128, HALF)).
  • Inserting a batch with retries on conflicts and on VectorIndexClusterTooLargeException.
  • A raw Guardiann view of a record-store vector index, the Guardiann structure checks, and recall@k.

VectorIndexTestBase (which stays in src/test, with its proto) and GuardiannVectorIndexConcurrentMergeTest delegate to it; their signatures and behavior are unchanged (the index plans built for the existing 128-dimensional half-precision callers are identical, including plan hashes and serialization). The core test fixtures now expose the fdb-extensions test fixtures as an API dependency.

Verified: the vector index and Guardiann tests of fdb-record-layer-core pass; VectorIndexTestSupport is part of the published test fixtures jar (it doesn't reference any proto); check passes.

…ures

Add `VectorIndexTestSupport` to the core test fixtures with the vector index test helpers that don't depend on a
record proto: merging a vector index (once, or to completion) and checking it for outstanding work, building a
by-distance index plan for a query vector of any precision and dimensionality, inserting a batch with retries, and
checking the Guardiann structure and recall of a record-store vector index. `VectorIndexTestBase` and
`GuardiannVectorIndexConcurrentMergeTest` delegate to it, so their behavior is unchanged.
@normen662
normen662 added this pull request to stack #4679 September 27, 2026 10:47
@normen662 normen662 added the testing improvement Change that improves our testing label Sep 27, 2026

This branch has not been deployed

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

Labels

testing improvement Change that improves our testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant