Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/17730 )
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 Reviewed-on: http://gerrit.cloudera.org:8080/17730 Tested-by: Kudu Jenkins Reviewed-by: Andrew Wong <[email protected]> --- 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 A src/kudu/util/timer.h M src/kudu/util/web_callback_registry.h A www/startup.mustache 25 files changed, 637 insertions(+), 71 deletions(-) Approvals: Kudu Jenkins: Verified Andrew Wong: Looks good to me, approved -- 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: merged Gerrit-Change-Id: I1db1fcf16261d4ced1b3657a697766a5335271b4 Gerrit-Change-Number: 17730 Gerrit-PatchSet: 27 Gerrit-Owner: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241)
