[BUG] Dedup crashes with ClassCastException
I maintainer di solito rispondono entro 1 giorno
@dai-chen ci sta già lavorando.
Dal 14/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Bug Report
Describe the bug:
PPL DEDUP command crashes with a ClassCastException when:
- The dedup pushdown path is taken (composite aggregation +
top_hits) — i.e., noWHEREclause precedesDEDUP - The index contains any field whose
_sourcerepresentation is a non-primitive (Map/Object), such asgeo_pointstored as{"lat":..., "lon":...}or object-type fields
The top_hits response parser appears to iterate over _source fields and assumes all values are String, but encounters HashMap values from structured field types.
OpenSearch version: 3.7.0 (also reproduces on 3.4.0 with the reversed cast direction)
SQL plugin version: 3.7.0.0
Reproduction
Minimal reproduction:
# Create index with a geo_point field (stored as object in _source)
PUT test_dedup_geo
{
"mappings": {
"properties": {
"name": { "type": "keyword" },
"location": { "type": "geo_point" }
}
}
}
POST test_dedup_geo/_bulk
{"index":{}}
{"name":"alice","location":{"lat":40.7,"lon":-74.0}}
{"index":{}}
{"name":"bob","location":{"lat":34.0,"lon":-118.2}}
{"index":{}}
{"name":"alice","location":{"lat":51.5,"lon":-0.1}}
POST test_dedup_geo/_refresh
# This FAILS:
POST _plugins/_ppl
{"query": "SOURCE = test_dedup_geo | DEDUP name | FIELDS name"}
# This WORKS (WHERE clause prevents dedup pushdown):
POST _plugins/_ppl
{"query": "SOURCE = test_dedup_geo | WHERE name IS NOT NULL | DEDUP name | FIELDS name"}
On 3.7.0:
{
"error": {
"reason": "java.sql.SQLException: exception while executing query: class java.util.HashMap cannot be cast to class java.lang.String (java.util.HashMap and java.lang.String are in module java.base of loader 'bootstrap')",
"type": "RuntimeException"
},
"status": 500
}
On 3.4.0:
{
"error": {
"reason": "java.sql.SQLException: exception while executing query: class java.lang.String cannot be cast to class java.util.Map (java.lang.String and java.util.Map are in module java.base of loader 'bootstrap')",
"type": "RuntimeException"
},
"status": 500
}
- Lingua principale
- Java
- Stelle
- 175
- Fork
- 233
- Merge medio
- 2g 16h
- PR unite (30g)
- 39
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di opensearch-project/sql
-
[Enhancement] Make the flat_object read depth cap configurable instead of a constantForse già presa @RyanL1997 l’ha presa 14 giorni fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
opensearch-project/sql#5842 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] PromQL queries fail with InvalidTypeIdException when metric has a label named "type"Forse già presa @nagendramohan l’ha presa 76 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
opensearch-project/sql#5684 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[DOC] Calcite settings documentation missing examplesForse già presa @AzazelSensei l’ha presa 33 giorni fa. Apertadocumentation PPL
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
opensearch-project/sql#4806 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement untriaged
Difficoltà 4/5 3-5 giorni Idoneità per principianti 54/100
opensearch-project/sql#5906 ·
I maintainer di solito rispondono entro 1 giorno
-
bug PPL untriaged
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
opensearch-project/sql#5904 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di opensearch-project/sql
Issue simili
-
[BUG] jackson3 JacksonJsonpMapper(ObjectMapper) fails to deserialize `_source` with "Trailing token" errorForse già presa @junyeokk l’ha presa oggi. Apertabug untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
opensearch-project/opensearch-java#2236 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
cloudfoundry/cf-java-client#1392 ·
I maintainer di solito rispondono entro 2 giorni
-
Posting fails with "Context too long"Forse già presa @jimklimov l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
open-learning-exchange/myplanet#18392 ·
I maintainer di solito rispondono entro 2 giorni