From what I can tell, it appears that Gruf 2.16 autoloads the health check as a service even if not requested if eager_load is true in the environment. This seems slightly undesirable since it might conflict with an existing health check RPC definition.
How to Reproduce
Steps to reproduce the behavior:
Upgrade to gruf 2.16.0
Set config.eager_load = true in your environment
Add a breakpoint in gems/gruf-2.16.0/lib/gruf/cli/executor.rb at line 125 before the call to determine_services
Notice that after invoking determine_services, the list of services will contain the Gruf-provided health check even if the health_check_enabled flag is false:
It probably shouldn't load this unless requested - it's documented as opt in, after all. This created a problem for us because we had our own implementation of this check that was colliding with Gruf's when we went to implement it.
Please describe the issue
From what I can tell, it appears that Gruf 2.16 autoloads the health check as a service even if not requested if eager_load is true in the environment. This seems slightly undesirable since it might conflict with an existing health check RPC definition.
How to Reproduce
Steps to reproduce the behavior:
determine_services
determine_services
, the list ofservices
will contain the Gruf-provided health check even if the health_check_enabled flag is false:What should happen?
It probably shouldn't load this unless requested - it's documented as opt in, after all. This created a problem for us because we had our own implementation of this check that was colliding with Gruf's when we went to implement it.
Anything else we should know?
gRPC 1.48.0, Ruby 2.7 and 3.0 environments