Detection of failed services during routing
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 92
- Forks
- 81
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 46
Description
There is a mechanism how to handle network issue during resending request to a service:
The aim is detect that service is down. In this case GW returns 503 which is ok. But the condition is too general and could include other communication issue. The issue is then log in exception handler:
It generates debug message like:
A service is not available at the moment to finish request https://<GW host>:<GW port>/<path>: Service is not available at https://<service host>:<service port>
It ignores the cause of the error. It is not helpful to understand the reason of failure.
The aim of this issue is:
- provide beter debug message
- decide what exception could be logged as 503 and what as 500
- 503 should be only request where is missing the remote site
- exception about certificate (PKIX, etc.) shouldn't end with 503
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the referenced sections of gateway-service/src/main/java/org/zowe/apiml/gateway/config/NettyRoutingFilterApiml.java and GatewayExceptionHandler.java. Trace the exception cause for failed routing and compare missing remote-site failures with certificate-related failures. Done means the debug message preserves the failure reason and only missing remote sites return 503, while certificate exceptions return 500.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100