[FlightRPC][Java] CallbackBackpressureStrategy should not rely on listener.isReady()
- 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
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