v6: Shard.vectorQueueLenght is misspelled, so the vector queue length is always 0
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
Research direction
Open io/weaviate/client6/v1/api/cluster/Shard.java and compare the record component and @SerializedName value with the server field described in the issue. Rename both to vectorQueueLength, check references to the record accessor, and verify that a response containing vectorQueueLength populates the component instead of leaving it at zero.
Written by the indexing model from the issue text.
Description
Summary
Shard.vectorQueueLenght is misspelled — Lenght for Length — in both the @SerializedName and the record component. The server sends vectorQueueLength, so the field never binds and the value is always 0, on every server version. Nothing throws and nothing is logged.
Where it comes from
io/weaviate/client6/v1/api/cluster/Shard.java (6.3.1):
public record Shard(
@SerializedName("name") String name,
@SerializedName("class") String collection,
@SerializedName("objectCount") int objectCount,
@SerializedName("vectorIndexingStatus") VectorIndexingStatus vectorIndexingStatus,
@SerializedName("vectorQueueLenght") int vectorQueueLenght, // <-- here, twice
@SerializedName("compressed") boolean compressed,
@SerializedName("loaded") boolean loaded,
@SerializedName("numberOfReplicas") int numberOfReplicas,
@SerializedName("replicationFactor") int replicationFactor) {}
The server's own model, entities/models/node_shard_status.go:61:
VectorQueueLength int64 `json:"vectorQueueLength"`
Empirical confirmation
GET /v1/nodes?output=verbose against Weaviate 1.39.0 — the key the server actually emits, and the one the client looks for:
shard keys: ['asyncReplicationStatus', 'class', 'compressed', 'loaded', 'name',
'numberOfReplicas', 'objectCount', 'replicationFactor',
'vectorIndexingStatus', 'vectorQueueLength']
vectorQueueLength = 0 <- present
vectorQueueLenght = None <- what the client asks for; not there
Because Gson leaves an unmatched field at its default, a shard with a queue of 42 deserializes to vectorQueueLenght() == 0. The value is only interesting while async indexing is catching up, which is exactly when it reads as zero.
Suggested fix
Rename the JSON key and the record component to vectorQueueLength.
No @SerializedName(alternate = …): unlike #607, nothing was ever validly stored or sent under the misspelling, so there is no old spelling to stay compatible with.
Also on this record, not fixed here
Two adjacent gaps in the same Shard, worth their own tickets if you agree they are bugs:
objectCount,numberOfReplicas,replicationFactorandvectorQueueLengthareint64on the server andinthere.- The server sends
asyncReplicationStatusandShardhas no component for it, althoughio/weaviate/client6/v1/api/cluster/AsyncReplicationStatus.javaexists and is currently unreferenced.
Version
- java-client 6.3.1 (present since
Shardwas introduced) - Weaviate 1.39.0
- Dominant language
- Java
- Stars
- 34
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from weaviate/java-client
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
weaviate/java-client#621 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
weaviate/java-client#615 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
weaviate/java-client#607 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
weaviate/java-client#603 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
weaviate/java-client#623 ·
All issues in weaviate/java-client
Similar issues
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful Openarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100