[BUG] MissingRequiredPropertyException: Missing required property 'ResourceStats.average' when polling _tasks API
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Comience con spec/schemas/_common.yaml y compare los requisitos de ResourceStats con la respuesta _tasks de OpenSearch 1.3 que se muestra aquí. Consulte la matriz de compatibilidad antes de cambiar la especificación y, después, verifique que se pueda gestionar una respuesta en curso que contenga únicamente resource_stats.total y que las pruebas existentes del cliente pasen.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What is the bug?
The ResourceStats schema in spec/schemas/_common.yaml of the opensearch-api-specification marks average, max, min, thread_info, and total as all required. However, the _tasks API on OpenSearch 1.3 only returns total in the resource_stats block when a task is in-flight.
Per the compatibility matrix, opensearch-java 3.x supports OpenSearch 1.x-3.x, so the spec should reflect what 1.x actually returns.
This causes the opensearch-java 3.8.0 client to throw:
org.opensearch.client.util.MissingRequiredPropertyException: Missing required property 'ResourceStats.average'
at org.opensearch.client.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:90)
at org.opensearch.client.opensearch._types.ResourceStats.<init>(ResourceStats.java:82)
at org.opensearch.client.opensearch._types.ResourceStats$Builder.build(ResourceStats.java:302)
at org.opensearch.client.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:92)
How can one reproduce the bug?
1. Index test documents (100k+):
POST /test-index/_bulk
{"index":{"_id":"1"}}
{"date":"2020-01-01T00:00:00Z","status":"OPEN"}
{"index":{"_id":"2"}}
{"date":"2020-01-01T00:00:00Z","status":"OPEN"}
... (repeat to 100k+ documents)
2. Submit async delete-by-query:
POST /test-index/_delete_by_query?wait_for_completion=false&conflicts=proceed
{
"query": {
"range": {
"date": {
"lt": "now-6M/d"
}
}
}
}
Response:
{
"task": "nodeId:1234567"
}
3. Poll the task while it's still running:
GET /_tasks/nodeId:1234567
In-flight response (before task completes):
{
"completed": false,
"task": {
"node": "nodeId",
"id": 1234567,
"type": "transport",
"action": "indices:data/write/delete/byquery",
"status": {
"total": 100000,
"updated": 0,
"created": 0,
"deleted": 11000,
"batches": 12,
"version_conflicts": 0,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0
},
"description": "delete-by-query [test-index]",
"start_time_in_millis": 1781528541973,
"running_time_in_nanos": 587603829,
"cancellable": true,
"cancelled": false,
"headers": {},
"resource_stats": {
"total": {
"cpu_time_in_nanos": 0,
"memory_in_bytes": 0
}
}
}
}
Note: resource_stats contains only total. The fields average, max, min, and thread_info are absent. The opensearch-java 3.8.0 client fails to deserialize this response because ResourceStats marks all five fields as required.
4. After task completes, resource_stats is no longer present in the response, which is why this only surfaces when polling in-flight tasks with large enough data volumes for the task to take seconds.
Environment
- opensearch-java client version: 3.8.0
- OpenSearch server: 1.3
- Java version: 17
- Lenguaje dominante
- Java
- Estrellas
- 165
- Forks
- 257
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 44
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 opensearch-project/opensearch-java
-
bug untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
opensearch-project/opensearch-java#2252 ·
Los mantenedores suelen responder en 1 día
-
enhancement untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
opensearch-project/opensearch-java#2188 ·
Los mantenedores suelen responder en 1 día
-
[BUG] "shape" should not be required in GeoShapeQueryFieldQuizá libre de nuevo @lsh1215 la tomó hace 122 días y no hay ningún pull request abierto. Abiertobug untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
opensearch-project/opensearch-java#2011 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
[BUG] ISM types lastUpdatedTime is susceptible to int overflowPosiblemente ocupada @gingeekrishna la tomó hace 117 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
opensearch-project/opensearch-java#1898 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug untriaged
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
opensearch-project/opensearch-java#2248 ·
Los mantenedores suelen responder en 1 día
Todos los issues de opensearch-project/opensearch-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
documentation good first issue priority: low
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Gautam-aman/CODOVYN#52 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
ControlSystemStudio/phoebus#3998 ·
Los mantenedores suelen responder en 1 día
-
bug/错误
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
FCL-Team/FoldCraftLauncher#1982 · 2 comentarios ·
Los mantenedores suelen responder en 1 día