Comet Native Executors: pass scalar subquery results to the cluster without rewriting the plan
Los mantenedores suelen responder en 2 días
@andygrove ya está trabajando en esto.
Desde el 1/11/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
Línea de trabajo
Start by reading withSubqueryResults in CometNativeExecutorsExec.scala, then trace how QueryRequest and Fragment carry data to PhysicalPlanner. Check how ExprStruct::Subquery is handled when planning blocks with native inputs. Done means subquery results are sent once and the planner can look them up without rewriting serialized plans.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What is the problem the feature request solves?
Before submitting a query, the driver (#7289) replaces each scalar subquery in the plan with a literal of its result. It parses the serialized plan of every stage that holds a subquery, and every partition's own plan for a stage that reads files, walks them, and serializes them again. For a scan over many files, that is the bulk of the request, redone on the driver for every query.
Describe the potential solution
Send the results once, as map<int64, Expr> subquery_results on QueryRequest and Fragment. Have PhysicalPlanner look up ExprStruct::Subquery in that map when it plans a block with native inputs, where today it fails because there is no JVM. The driver would then serialize only the literals.
Additional context
The rewrite is withSubqueryResults in CometNativeExecutorsExec.scala.
Part of #7288.
Willingness to contribute
Yes. I can contribute this feature independently.
- Lenguaje dominante
- Scala
- Estrellas
- 1.3k
- Forks
- 405
- Merge medio
- 3 d 4 min
- PR fusionados (30 d)
- 282
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 apache/datafusion-comet
-
area:ci enhancement priority:low requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
apache/datafusion-comet#7319 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
area:ci bug priority:low requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/datafusion-comet#7315 ·
Los mantenedores suelen responder en 2 días
-
requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/datafusion-comet#7240 ·
Los mantenedores suelen responder en 2 días
-
bug priority:low
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/datafusion-comet#7176 ·
Los mantenedores suelen responder en 2 días
-
docs: update Scala comments that reference the removed iceberg-writes.md pagePosiblemente ocupada @Abhishek-Mohan la tomó hace 4 días. Abiertoenhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
apache/datafusion-comet#7101 ·
Los mantenedores suelen responder en 2 días
Todos los issues de apache/datafusion-comet
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
propensive/soundness#2351 ·
Los mantenedores suelen responder en 1 día
-
Traffic event delivered/rejected counters appear swapped in TrafficStateController.updateWithReceiptAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
digital-asset/canton#705 ·
Los mantenedores suelen responder en 2 días
-
easy first-contributor first-contributors good first issue help wanted scala up-for-grabs
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
fork-commit-merge/fork-commit-merge#8457 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
promovolve/promovolve#358 ·
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
svroonland/zio-kinesis#1431 ·