Files
impala/tests/custom_cluster/test_krpc_socket.py
wzhou-code eda2aa5553 IMPALA-11129: Support running KRPC over Unix Domain Socket
This patch make following changes to support running KRPC over UDS.
  - Add FLAGS_rpc_use_unix_domain_socket to enable running KRPC over
    UDS. Add FLAGS_uds_address_unique_id to specify unique Id for UDS
    address. It could be 'ip_address', 'backend_id', or 'none'.
  - Add variable uds_address in NetworkAddressPB and TNetworkAddress.
    Replace TNetworkAddress with NetworkAddressPB for KRPC related
    class variables and APIs.
  - Set UDS address for each daemon as @impala-kprc:<unique_id>
    during initialization with unique_id specified by starting flag
    FLAGS_uds_address_unique_id.
  - When FLAG_rpc_use_unix_domain_socket is true, the socket of KRPC
    server will be binded to the UDS address of the daemon.
    KRPC Client will connect to KRPC server with the UDS address of
    the server when creating proxy service, which in turn call
    kudu::Socket::Connect() function to connect KRPC server.
  - rpcz Web page show TCP related stats as 'N/A' when using UDS.
    Show remote UDS address for KRPC inbound connections on rpcz Web
    page as '*' when using UDS since the remote UDS addresses are
    not available.
  - Add new unit-tests for UDS.
  - BackendId of admissiond is not available. Use admissiond's IP
    address as unique ID for UDS.
    TODO: Advertise BackendId of admissiond in global admission
    control mode.

Testing:
  - Passed core test with FLAG_rpc_use_unix_domain_socket as fault
    value false.
  - Passed core test with FLAG_rpc_use_unix_domain_socket as true.

Change-Id: I439f5a03eb425c17451bcaa96a154bb0bca17ee7
Reviewed-on: http://gerrit.cloudera.org:8080/18369
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2022-05-25 06:27:24 +00:00

5.5 KiB