InvalidStateError on output stream close in BiDi API
- Langage dominant
- Python
- Étoiles
- 169
- Forks
- 19
- Merge moyen
- 1 j 20 h
- PR mergées (30 j)
- 11
Description
When using the BiDi API and closing the output stream, I always see low-level CRT futures that raise `concurrent.futures.InvalidStateError`
This seems to be occurring because `CRTResponseBody._on_complete()` is invoking `future.set_result(b"")` when the future is already in a `CANCELLED` state.
Although the error is mostly cosmetic, it still interrupts any higher-level async task loops.
Please add a guard or something like:
```
if not future.cancelled():
future.set_results(b"")
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Recherchez CRTResponseBody._on_complete et examinez comment le future du flux de sortie est terminé lors de la fermeture. Reproduisez le chemin de fermeture du flux de sortie de la BiDi API, puis vérifiez que sa fermeture ne lève plus InvalidStateError lorsque le future est annulé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 72/100