You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Shubham Chaurasia (Jira)" <ji...@apache.org> on 2020/12/23 07:05:00 UTC

[jira] [Created] (HIVE-24563) Check if we can interchange client and server sides for umbilical for external client flow

Shubham Chaurasia created HIVE-24563:
----------------------------------------

             Summary: Check if we can interchange client and server sides for umbilical for external client flow
                 Key: HIVE-24563
                 URL: https://issues.apache.org/jira/browse/HIVE-24563
             Project: Hive
          Issue Type: Sub-task
          Components: Hive, llap
            Reporter: Shubham Chaurasia
            Assignee: Shubham Chaurasia


Currently we open three tcp connections when llap external client communicates to llap.


{noformat}
       llap-ext-client   ............... llap


connection1: client  .......>>.......  server         

(RPC for submitting fragments - say t1, t2, t3. llap-ext-client initiates connection)


connection2: client  .......>>.......  server                  

(for reading the output of t1, t2, t3. llap-ext-client initiates connection)


connection3: umbilical server  .......<<.......  client

(RPC for status updates/heartbeat of t1, t2, t3. llap Daemon initiates connection)

{noformat}

connection3 starts a umbilical(RPC) server at the client side to which llap daemon keeps sending the task statuses / heartbeats and node heartbeats. 

*The Problem* 

In cloud based deployment, we need to open tcp traffic. 
1. For connection1 and connection2, we need to open incoming tcp traffic on the machines running llap from client.

2. For connection3, we need to open incoming tcp traffic on the machines where llap-ext-client is running, from llap daemon. 

Here clients also need to worry about opening traffic(from llap) at their end. 


This jira is to evaluate the possibility of interchanging Umbilical server and client sides i.e. umbilical server will run in llap only and llap-ext-client will act as client and initiate the connection.  

We can have umbilical address in llap splits (when get_splits is called by external client) which the client can later connect to. 

 




--
This message was sent by Atlassian Jira
(v8.3.4#803005)