You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org> on 2021/09/19 18:46:00 UTC

[kudu-CR] [WIP] KUDU-1959 - Implement server startup progress page for tablet and master servers

Hello Tidy Bot, Attila Bukor, Kudu Jenkins, Andrew Wong, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/17730

to look at the new patch set (#9).

Change subject: [WIP] KUDU-1959 - Implement server startup progress page for tablet and master servers
......................................................................

[WIP] KUDU-1959 - Implement server startup progress page for tablet and master servers

This task is broken down into the below tasks:
1. Adjust server startup to start webserver displaying static startup page
2. Implement startup WebUI using existing data
3. Enhance the startup WebUI with missing data
4. Expose startup WebUI data to metrics
5. Expose the metrics to CM for health monitoring

This patchset implements the tasks 1 and 2 from above: Adjust the server
startup sequence to startup the web server and load the startup page
which shows the progress of the startup. This progress is broken down
into the below steps:

Initializing
Reading Filesystem
  Reading instance metadata files
  Opening container files
Bootstrapping and opening the tablets
Starting RPC server

Each of the steps above has a progress percent of either 0 or 100 except
for the step “Bootstrapping and opening the tablets” which tracks the
processing of each of the tablet and updates the page. The patch for task
3 will have progress tracking for opening each container file. All of the
steps have time elapsed presented in seconds.

For the master startup page, the step “Bootstrapping and opening the
tablets” is replaced by “Initializing master catalog”.

Along with the above startup page the web server will also display
the pages - /home, /config, /logs, /mem-trackers, /memz, /threadz, /varz.
During the initialization since we expect the user's primary reason to
open the web UI to be to check the startup progress, /home  will be
redirected to /startup until the startup is completed. The usual homepage
contents and the other remaining web pages will be available once the rpc
server is started due to dependency. Manually validated the startup when
security is enabled and filesystem is not present.

The footer of the WebUI has the UUID by default. In case of new
instances, since we are starting the Webserver before the UUID is
generated the footer doesn’t contain UUID but it is set later when
the rpc server is started.

Change-Id: I1db1fcf16261d4ced1b3657a697766a5335271b4
---
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/master/master.cc
M src/kudu/server/CMakeLists.txt
M src/kudu/server/default_path_handlers.cc
M src/kudu/server/default_path_handlers.h
M src/kudu/server/server_base.cc
M src/kudu/server/server_base.h
A src/kudu/server/startup_path_handler.cc
A src/kudu/server/startup_path_handler.h
M src/kudu/server/tracing_path_handlers.h
M src/kudu/server/webserver-test.cc
M src/kudu/server/webserver.cc
M src/kudu/server/webserver.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M src/kudu/util/web_callback_registry.h
A www/startup.mustache
19 files changed, 418 insertions(+), 57 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/17730/9
-- 
To view, visit http://gerrit.cloudera.org:8080/17730
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1db1fcf16261d4ced1b3657a697766a5335271b4
Gerrit-Change-Number: 17730
Gerrit-PatchSet: 9
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)