Exception handling on "API down for maintenance"
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
Rechercherichtung
Beginne mit dem verknüpften Promregator issue, den CAPI release notes und full-error.txt, um die Wartungsantwort ohne JSON und die daraus resultierende CorruptedFrameException zu verstehen. Im issue werden keine Repository-Dateien oder Tests genannt; die Arbeit ist erst abgeschlossen, wenn das Projekt entscheidet, wohin dieser Fehler gehört, und die erwartete Ausnahmebehandlung festlegt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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?
- Vorherrschende Sprache
- Java
- Sterne
- 334
- Forks
- 319
- Ø Merge
- 3 T. 19 Std.
- Gemergte PRs (30 T.)
- 4
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cloudfoundry/cf-java-client
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
cloudfoundry/cf-java-client#1374 ·
-
Integration tests fail: test-service-broker.jar incompatible with java-buildpack v5 (JDK 17 default)Offen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 74/100
cloudfoundry/cf-java-client#1344 · 1 Kommentar ·
-
The v3 feature flag API is not implemented.Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
cloudfoundry/cf-java-client#1388 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
cloudfoundry/cf-java-client#1386 ·
-
Execute integration tests in Github ActionsEvtl. vergeben @ZPascal hat das vor 15 Tagen übernommen. Offen
cloudfoundry/cf-java-client#1380 · 1 Reaktion · 2 zugewiesene Personen ·
Alle Issues in cloudfoundry/cf-java-client
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
apache/rocketmq-dashboard#6896 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
OpenIntegrationEngine/engine#496 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SasanLabs/VulnerableApp#836 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement frontend
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
Albertinesilva/backend-engineering-journey-java-springboot#46 ·
-
Snyk: vulnerabilities in jackson-databind 2.21.5Evtl. vergeben @harrywu23 hat das heute übernommen. Offenbug
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 80/100
SOFTENG-310-Group-4/Project-A1-310-Group-4#115 ·
Maintainer antworten meist innerhalb von 1 Tag