Exception handling on "API down for maintenance"
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 20/100
Piste de recherche
Commencez par l’issue Promregator liée, les CAPI release notes et full-error.txt afin de comprendre la réponse de maintenance non JSON et la CorruptedFrameException qui en résulte. L’issue ne nomme aucun fichier du dépôt ni aucun test ; le travail n’est terminé que lorsque le projet décide où cette défaillance doit être traitée et définit la gestion attendue de l’exception.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Documented in the case of https://github.com/promregator/promregator/issues/96#issuecomment-490585118, Promregator (a consumer of cf-java-client) encountered the situation that the CF Cloud Controller did not respond with a proper response, but only returned the ASCII string
API down for maintenance
instead of the corresponding JSON.
I stumbled over https://github.com/cloudfoundry/capi-release/releases/tag/1.77.0, where the second line in the highlights suggests that this is a standard behavior of the platform (and also might have reported that error without providing the appropriate HTTP status code of 503).
Based on the logs, it seems that cf-java-client today reacts to just forward an exception of type io.netty.handler.codec.CorruptedFrameException. It is clear that the corresponding request cannot be fulfilled and some sort of error reporting/exception handling must take place in this case.
What is unclear to me is who should be in charge of handling such a kind of exception. I doubt that a consumer application should catch exceptions raised by netty due to a decoding issue. Moreover, the situation appears to be (perhaps not a desired situation, but still) a response that may happen from time to time. One may also argue whether this is covered by the contract.
What is your opinion about all this? Should the consumer of cf-java-client handle this kind of failure by catching io.netty.handler.codec.CorruptedFrameException?
- Langage dominant
- Java
- Étoiles
- 334
- Forks
- 319
- Merge moyen
- 7 j 11 h
- PR mergées (30 j)
- 3
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de cloudfoundry/cf-java-client
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
cloudfoundry/cf-java-client#1374 ·
-
Integration tests fail: test-service-broker.jar incompatible with java-buildpack v5 (JDK 17 default)Ouverte
Difficulté 2/5 Une demi-journée Accessibilité débutants 74/100
cloudfoundry/cf-java-client#1344 · 1 commentaire ·
-
Execute integration tests in Github ActionsPeut-être pris @ZPascal l’a pris il y a 10 jours. Ouverte
cloudfoundry/cf-java-client#1380 · 1 réaction · 2 personnes assignées ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
cloudfoundry/cf-java-client#1373 ·
-
Update to latest CAPI Version 1.240.0Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
cloudfoundry/cf-java-client#1370 ·
Toutes les issues de cloudfoundry/cf-java-client
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
openhab/openhab-addons#21921 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
jellyfin/jellyfin-androidtv#5885 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
objectionary/eo-graphs#85 ·
-
XtYaml throws a bare ClassCastException when sheets or asserts is a scalar or holds a non-stringOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
objectionary/xax#246 ·
Les mainteneurs répondent en général sous 1 jour