weaviate / weaviate/java-client

v6: dynamic index quantization is never parsed into VectorConfig

Open
#606 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
34
Forks
30
PR merge metrics
No merged PRs in 30d

Description

VectorConfig.CustomTypeAdapterFactory.read looks for the bq/pq/sq/rq keys at the top level of vectorIndexConfig. That is correct for hnsw and flat, but a dynamic index nests them one level deeper, under hnsw/flat, so the quantizer is silently dropped on read.

Verified against a live Weaviate 1.38.0 collection with a dynamic index and RQ enabled:

raw     hnsw.rq = {"bits":8,"enabled":true,"rescoreLimit":20}
typed   quantization = null

The same root cause loses Dynamic.flat's own quantizer.

Also dropped on read at the dynamic level: vectorIndexConfig.distance.

Fixing this needs a design call first: under dynamic, hnsw and flat can carry different quantizers, but VectorConfig has a single quantization() slot.

Found while working on #598, which adds getConfigAsJson as a raw-JSON escape hatch — that unblocks callers who need the complete picture, but does not fix the typed mapping.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at VectorConfig.CustomTypeAdapterFactory.read and compare how dynamic, hnsw, and flat configurations are represented. Resolve how the single VectorConfig.quantization() slot should handle different dynamic quantizers, then verify typed reads retain the relevant quantizer and dynamic distance; use #598's raw-JSON escape hatch as context.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.