[FlightRPC][Java] CallbackBackpressureStrategy should not rely on listener.isReady()
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
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.*
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par CallbackBackpressureStrategy et la spécification de CallStreamObserver setOnReadyHandler liée dans l’issue. Suivez la manière dont l’indicateur de disponibilité du listener est vérifié après le ready handler, puis vérifiez que l’achèvement ne dépend plus de cet indicateur du listener et utilise l’état de disponibilité synchronisé de la stratégie.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- grpc, java
- Domaine
- api
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100