apache / apache/arrow-java

[FlightRPC][Java] CallbackBackpressureStrategy should not rely on listener.isReady()

Abierto
#346 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Type: bug
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

According to the spec for , we can get into a state where the ready flag on the listener has already switched back to false by the time we execute the on ready handler.

We currently use the listener's ready flag after the ready handler to check if we received a spurious wake, but it's not reliable because of this. Instead we should use our own readiness flag that gets set within a synchronized block local to the CallbackBackpressureStrategy.

**Reporter**: [James Duong](https://issues.apache.org/jira/browse/ARROW-15876) / @jduo

**Note**: *This issue was originally created as [ARROW-15876](https://issues.apache.org/jira/browse/ARROW-15876). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con CallbackBackpressureStrategy y la especificación de CallStreamObserver setOnReadyHandler enlazada en el issue. Sigue cómo se comprueba el indicador de disponibilidad del listener después del ready handler y verifica después que la finalización ya no depende de ese indicador del listener y utiliza el estado de disponibilidad sincronizado de la estrategia.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
grpc, java
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.