rabbitmq / rabbitmq-cli

Command line tools for RabbitMQ
Other
105 stars 34 forks source link

Visibly deprecate 'rabbitmq-diagnostics node_health_check' #426

Closed michaelklishin closed 4 years ago

michaelklishin commented 4 years ago

rabbitmq-diagnostics node_health_check (better known as rabbitmqctl node_health_check) is an opinionated, intrusive, aspirational attempt at producing One True Health Check™ for RabbitMQ that stems from 2016 or so.

It has proven to be too prone to false positives, consume resources unnecessarily, and be too opinionated for many teams.

A much more modular, pick-and-choose approach has been adopted since but this command has never been deprecated and continues polluting search results. It's time to deprecate it, and perhaps remove for 3.9.

Equally importantly, this command requires a fully booted node which does not work well with what nodes do today on restart and Kubernetes environments where one-at-a-time pod deployment is our recommended deployment option. This command used as a readiness probe for a pod in a stateful set can create a deployment deadlock where Kubernetes does not proceed to deploy the next node but the current one is not fully booted until another node comes up (and it never will with one-at-a-time policy).