You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Quanlong Huang (Jira)" <ji...@apache.org> on 2021/08/11 09:23:00 UTC

[jira] [Updated] (IMPALA-10856) Show connections in the web UI

     [ https://issues.apache.org/jira/browse/IMPALA-10856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Quanlong Huang updated IMPALA-10856:
------------------------------------
    Description: 
HS2 protocol allows for the session to independent from the connection. Clients like HUE that use connection pools may use a session across different connections. We correctly handle this in IMPALA-1653. After that, each session can be associated to more than one connections. It would be helpful to show these connections in the /sessions page of coordinator's web UI. Note that fe service threads actually maps to the number of connections, not sessions.

BTW, the "Network Address" column only shows the first connection of a session. We should add all connections of it.

The handler for the /sessions URL: [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-http-handler.cc#L562]
The web page template of the /sessions page:
[https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/www/sessions.tmpl]
The connection-session relationship is maintained in connection_to_sessions_map_:
[https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L1433] 
Each session also tracks its connections:
[https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L629]
Connection info is defined here:
[https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/rpc/thrift-server.h#L96-L109]
{code:cpp}
  struct ConnectionContext {
    TUniqueId connection_id;
    Username username;
    Username do_as_user;
    TNetworkAddress network_address;
    std::string server_name;
    /// Used to pass HTTP headers generated by the input transport to the output transport
    /// to be returned.
    std::vector<std::string> return_headers;
    std::string saml_response;
    std::string saml_relay_state;
    std::unique_ptr<TWrappedHttpRequest> request;
    std::unique_ptr<TWrappedHttpResponse> response;
  };
{code}
We should at least showing these fields: connection_id, username, do_as_user, network_address, server_name.
 

  was:
HS2 protocol allows for the session to independent from the connection. Clients like HUE that use connection pools may use a session across different connections. We correctly handle this in IMPALA-1653. After that, each session can be associated to more than one connections. It would be helpful to show these connections in the /sessions page of coordinator's web UI. Note that fe service threads actually maps to the number of connections, not sessions.

BTW, the "Network Address" column only shows the first connection of a session. We should add all connections of it.

The handler for the /sessions URL: [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-http-handler.cc#L562]
 The web page template of the /sessions page:
 [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/www/sessions.tmpl]
 The connection-session relationship is maintained in connection_to_sessions_map_:
 [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L1433] 
 Each session also tracks its connections:
 [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L629]


> Show connections in the web UI
> ------------------------------
>
>                 Key: IMPALA-10856
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10856
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>            Reporter: Quanlong Huang
>            Priority: Major
>              Labels: observability, ramp-up
>
> HS2 protocol allows for the session to independent from the connection. Clients like HUE that use connection pools may use a session across different connections. We correctly handle this in IMPALA-1653. After that, each session can be associated to more than one connections. It would be helpful to show these connections in the /sessions page of coordinator's web UI. Note that fe service threads actually maps to the number of connections, not sessions.
> BTW, the "Network Address" column only shows the first connection of a session. We should add all connections of it.
> The handler for the /sessions URL: [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-http-handler.cc#L562]
> The web page template of the /sessions page:
> [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/www/sessions.tmpl]
> The connection-session relationship is maintained in connection_to_sessions_map_:
> [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L1433] 
> Each session also tracks its connections:
> [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/service/impala-server.h#L629]
> Connection info is defined here:
> [https://github.com/apache/impala/blob/5a9dcd108d8a1c6f3ea0062d8de750b6e41fb635/be/src/rpc/thrift-server.h#L96-L109]
> {code:cpp}
>   struct ConnectionContext {
>     TUniqueId connection_id;
>     Username username;
>     Username do_as_user;
>     TNetworkAddress network_address;
>     std::string server_name;
>     /// Used to pass HTTP headers generated by the input transport to the output transport
>     /// to be returned.
>     std::vector<std::string> return_headers;
>     std::string saml_response;
>     std::string saml_relay_state;
>     std::unique_ptr<TWrappedHttpRequest> request;
>     std::unique_ptr<TWrappedHttpResponse> response;
>   };
> {code}
> We should at least showing these fields: connection_id, username, do_as_user, network_address, server_name.
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org