[Task]: Tighten the late data bound of the Spark 4 streaming stateful ParDo to the previous batch watermark
Los mantenedores suelen responder en 1 día
@schizophrenicmaniac ya está trabajando en esto.
Desde el 13/10/2026.
- #40550 de @schizophrenicmaniac — abierto
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- stream-processing
Línea de trabajo
Start by reading the Spark Runner’s Spark 4 stateful ParDo implementation and the related work in #36841. Trace how TransformWithStateExec provides eventTimeWatermarkForLateEvents and how StatefulProcessor receives eviction watermarks through TimerValues; the issue leaves the implementation approach open. Done when late-data filtering uses the previous batch watermark, including for first visits and keys idle across batches.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What needs to happen?
The Spark 4 Structured Streaming stateful ParDo filters late data against the watermark stored on the key's previous visit, so a key on its first visit or idle for several batches accepts data that a per batch bound would drop. Spark holds the per batch value as eventTimeWatermarkForLateEvents in TransformWithStateExec, but StatefulProcessor only sees the eviction watermark through TimerValues. Tighten the bound once Spark exposes the late events watermark, or by tracking the previous batch watermark outside keyed state.
Part of #36841.
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components
- Component: Spark Runner
- Lenguaje dominante
- Java
- Estrellas
- 8.7k
- Forks
- 4.7k
- Merge medio
- 2 d 7 h
- PR fusionados (30 d)
- 290
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/beam
-
[Feature Request]: Support Protobuf 7.x in Python SDKPosiblemente ocupada @sofiathoren la tomó hace 3 días. AbiertoP2 python
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Row.toString throws for an ITERABLE field that is not backed by a ListPosiblemente ocupada @PDGGK la tomó hace 64 días. Abiertojava P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/beam#39624 · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
[Bug]: PubsubIO used in batch incorrect batch cutoff sizePosiblemente ocupada @1fanwang la tomó hace 53 días. Abiertobug io P3 pinned pubsub
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/beam#28011 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
build P3 sub-task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/beam
Issues similares
-
NullPointerException when a `DeserializationProblemHandler` returns `null` for `byte[]` (single value unwrapped) and `char[]` elementsPosiblemente ocupada @Marti2203 la tomó hoy. Abierto
Dificultad 2/5 Medio día Aptitud para principiantes 88/100
FasterXML/jackson-databind#6300 ·
Los mantenedores suelen responder en 1 día
-
content good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
cpinitiative/usaco-guide#6699 ·
Los mantenedores suelen responder en 1 día
-
BC remittance upload: a claim MSP refused (S03) is saved with a blank status instead of refused (F)Abiertotype: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
carlos-emr/carlos#4933 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/rocketmq-dashboard#6925 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Vakore/ZappierGames#147 ·