v6: Shard.vectorQueueLenght is misspelled, so the vector queue length is always 0
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
Línea de trabajo
Abre io/weaviate/client6/v1/api/cluster/Shard.java y compara el componente del record y el valor de @SerializedName con el campo del servidor descrito en el issue. Cambia ambos nombres a vectorQueueLength, comprueba las referencias al accessor del record y verifica que una respuesta que contenga vectorQueueLength rellene el componente en lugar de dejarlo en cero.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Java
- Estrellas
- 34
- Forks
- 30
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de weaviate/java-client
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
weaviate/java-client#621 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
weaviate/java-client#615 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
weaviate/java-client#607 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
weaviate/java-client#603 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
weaviate/java-client#623 ·
Todos los issues de weaviate/java-client
Issues similares
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abiertoarea/plugin
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Add canonical URLs and a sitemap Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/rocketmq-dashboard#5064 ·
-
Consent portal: creating a duplicate Purpose shows a generic error instead of "already exists" Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
wso2/dpdp-accelerator#287 ·