Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-10856

Show connections in the web UI

    XMLWordPrintableJSON

Details

    • ghx-label-13

    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

        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;
        };
      

      We should at least showing these fields: connection_id, username, do_as_user, network_address, server_name.
       

      Attachments

        Issue Links

          Activity

            People

              tangzhi Zhi Tang
              stigahuang Quanlong Huang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: