Hello, I was helpfully redirected by David from [ARROW-17920] Built-in GRPC 
health checks in FlightServerBase - ASF JIRA 
(apache.org)<https://issues.apache.org/jira/browse/ARROW-17920> to the mailing 
list to discuss how a consumer of FlightServerBase might meaningfully implement 
probe endpoints/health checks for production environments more easily.

The issue links to a related previous item that adds a C++ example for running 
multiple GRPC servers behind the same 
port<https://github.com/apache/arrow/pull/11524> which I can translate simply 
into a side-by-side health service and FSB in the same application. However, 
the issue<https://issues.apache.org/jira/browse/ARROW-14440> notes this same 
technique is unavailable to python (implementations of FlightServerBase) and 
the separate servers implies a lack of comingling logic related to the flight 
server itself and the health check, effectively making the health probes very 
dumb logic/check box implementation.

In the issue I opened, I proposed built-in gRPC health check 
protocol<https://github.com/grpc/grpc/blob/master/doc/health-checking.md#grpc-health-checking-protocol>
 in the native FSB that would thus apply to a "simple" python derivation 
without modifications as well as perhaps in the future allowing the python 
space to override the implementation (similar to do_*) for more advanced use 
cases that might require extensive python space initialization, etc.

I'd love to hear others' thoughts on the high-level direction/alternatives on 
this topic!

Regards,
AK

Reply via email to