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/27 05:31:09 UTC

[kudu-CR] 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 (#13).

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

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

This patch implements adjusting the server startup sequence to start 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

Sample screenshot  of the page can be found here:
https://i.imgur.com/J4NJD5i.png

Each of the steps above has a progress status of either 0 or 100 except
for the step “Bootstrapping and opening the tablets” which tracks the
processing of each of the tablet and the step “Opening container files”.
For log block manager this step shows the progress of opening the log
block containers. For file block manager, this is renamed to
“Reporting Filesystem” and has only 0 or 100 progress status. 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.

The next steps for this patch include writing tests for the startup
page. So far all the testing has been manual.

Change-Id: I1db1fcf16261d4ced1b3657a697766a5335271b4
---
M src/kudu/fs/block_manager.h
M src/kudu/fs/file_block_manager.cc
M src/kudu/fs/file_block_manager.h
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/fs/log_block_manager.cc
M src/kudu/fs/log_block_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
24 files changed, 518 insertions(+), 65 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/17730/13
-- 
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: 13
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)