After upgrading Bootstrap to 4.3.1 in the previous patch, the query page
no longer highlights which tab is being used. This is due to the removal
of ".nav-tabs > li.active > a" in bootstrap.css. So li elements in
"active" class no longer has additional styles. Instead, the styles of
"active" class is moved into to "nav-link" class in Bootstrap 4. We
should add the "active" class in the "nav-link" elements instead.
Tests:
- Manually click throught all tabs to check the active state
Change-Id: I5c746bc4f49b30df54bd3c73ac6f1cf838260c65
Reviewed-on: http://gerrit.cloudera.org:8080/14582
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Also upgrade DataTables to 1.10.18 at the same time..
They were obtained from https://datatables.net/download/
and https://getbootstrap.com/docs/4.3/getting-started/download/.
Included the version number in the css and js filenames to
avoid potential issues with stale versions being cached
(I got tripped up by this).
I had to do some additional work to get the UI to look right
after the upgrade:
* added additional style classes to HTML elements for nav and
breadcrumb styles - these are required in bootstrap 4.
* added styling for plan visualisation graph for it to
appear similar to the old graph.
* Added styling for <pre> to get box around text.
Testing:
Manually clicked through the web UI to see if anything looked
wrong or didn't function correctly.
Change-Id: Ib58f407574f590825d208424a8c0fd101b0a19a7
Reviewed-on: http://gerrit.cloudera.org:8080/14119
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Reviewed-by: Quanlong Huang <huangquanlong@gmail.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This patch adds the 'host:port' to all links on the webserver. This
will facilitate proxying connections to the debug webui through Knox
by allowing us to create rewrite rules that do the transform:
<a href="scheme://host:port/path">...</a>
=>
<a href="<knox-host>/topology/impalaui/path?scheme-scheme&host=host&port=port">...</a>
which allows us to have a single IMPALAUI Knox service that can proxy
connections to any impalad/statestored/catalogd webui in a cluster.
Note that this works because currently all of the links on Impala's
webui are within the same webserver (it would also be possible to add
links to other Impala daemon webuis within a cluster, eg. if we wanted
to add webui links on the /backends page). If we ever need to add
links to external pages, the Knox service definition will likely need
to be modified.
This patch also adds hidden fields to all forms for the scheme, host,
and port value, so that GET requests from forms will result in the
same form as the transformed url shown above.
Testing:
- Ran the webserver and manually clicked around on a bunch of links to
ensure everything works as expected.
- Ran in a cluster and verified the new Knox service defintion works
as intended with this change.
- Added a test that uses a regex to check for template files that
don't conform to the requirements.
Change-Id: If1195709a0f21f39d9a1e484880a0c46c9967ed2
Reviewed-on: http://gerrit.cloudera.org:8080/14151
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit exposes information about JVM threads to the impalad and
catalogd web UIs. This information includes statistics about the number
of threads running in the JVM as well as per-thread stacktraces, monitors and
synchronizers. Total CPU, user CPU and blocked time is also reported per
thread.
Change-Id: Id497043ab33dcf107a562f0b1ccd5c46095d397f
Reviewed-on: http://gerrit.cloudera.org:8080/6013
Reviewed-by: Dimitris Tsirogiannis <dtsirogiannis@cloudera.com>
Tested-by: Impala Public Jenkins