-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove inconsistent, expensive, unprofessional-looking self-health-check function #37
Comments
@rmoff would you mind picking this up? I would recommend running the command 'show streams' every 10 seconds. the message can be "KSQL is UP". This way we test that the ksql server is up and don't need to put an unnecessary load on Kafka. Presumably kafka has it's own healthchecks so we don't need to test it through ksql. |
Another issue with the current healthcheck is that it doesn’t appear to work in environments with RBAC which have basic auth enabled to the REST endpoint. |
Another issue with the current healthcheck is that it doesn’t appear to work in environments with SSL client auth being enabled |
Just to check: we can close this because we merged #45, right? |
@MichaelDrogalis - yes, the Docker healthcheck should be gone now. |
Great, thanks @mikebin |
PR #22, shortly prior to the CP5.4 release, added a new self-health-check function to the ksql-server image. This new function is invoked every 5 seconds by default (see https://github.com/confluentinc/ksql-images/blob/master/cp-ksql-server/Dockerfile.deb9#L41-L42) and works by posting a
show topics;
query to the running ksql server.There are several problems with this:
1 - it is inconsistent with all the other CP docker images, with the possible exception of Connect which looks to have something similar added. This means that when you bring up a CP stack with
docker-compose up
and then check it's status withdocker-compose up
, only ksql-server (and ppossibly Connect) report their status asUp (healthy)
. This gives the misleading impression that the other platform components are NOT healthy - a check like this needs to be all or none of the images.2 - running
show topics;
on a "real" cluster is potentially an expensive and time-consuming operation - certainly more than should be running every 5 seconds from every server.3 - the "woohoo ksql is up!" message is less than professional looking
4 - the check runs too frequently (every 5 seconds by default) and spams the docker logs with verbose output at default logging levels
5 - this check is undocumented - you have to spelunk this private repo code to figure out how to adjust or disable it.
Example log output:
The text was updated successfully, but these errors were encountered: