-
Bug
-
Resolution: Fixed
-
Low
-
3.7.0
-
2
-
Severity 3 - Minor
-
1
-
Issue Summary
The /status/ endpoint for Crowd will return as healthy (200 OK) even in conditions where Crowd is not in a healthy state, such as having lost connection to the database
Steps to Reproduce
- Using a sample Crowd installation connected to a PostgreSQL database server, we stopped the database server while Crowd was running.
- This resulted in Crowd constantly logging org.postgresql.util.PSQLException: The connection attempt failed.
- Our attempts to access Crowd webapp resulted in HTTP 500.
- Requesting /status/ endpoint resulted in HTTP 200 and following response body:
Expected Results
- Connecting to the /status/ endpoint would return an error 500 or return an ERROR state instead of a RUNNING or OK state.
Actual Results
The /status/ endpoint on Crowd will return as OK / RUNNING as if the node was healthy.
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available.
The only thing is /rest/healthcheck/1.0/check endpoint which will return 500 in such case. But the endpoint that is designed to be watched by load balancer is /status/, and that endpoint has no known workaround to get it to respond.