diff --git a/hbase-server/src/main/resources/hbase-webapps/master/hbck.jsp b/hbase-server/src/main/resources/hbase-webapps/master/hbck.jsp
index c3c11e5210b..87d0018171a 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/hbck.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/hbck.jsp
@@ -38,8 +38,22 @@
<%@ page import="org.apache.hadoop.hbase.master.CatalogJanitor" %>
<%@ page import="org.apache.hadoop.hbase.master.CatalogJanitor.Report" %>
<%
+ final String cacheParameterValue = request.getParameter("cache");
final HMaster master = (HMaster) getServletContext().getAttribute(HMaster.MASTER);
pageContext.setAttribute("pageTitle", "HBase Master HBCK Report: " + master.getServerName());
+ if (!Boolean.parseBoolean(cacheParameterValue)) {
+ // Run the two reporters inline w/ drawing of the page. If exception, will show in page draw.
+ try {
+ master.getMasterRpcServices().runHbckChore(null, null);
+ } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException se) {
+ out.write("Failed generating a new hbck_chore report; using cache; try again or run hbck_chore_run in the shell: " + se.getMessage() + "\n");
+ }
+ try {
+ master.getMasterRpcServices().runCatalogScan(null, null);
+ } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException se) {
+ out.write("Failed generating a new catalogjanitor report; using cache; try again or run catalogjanitor_run in the shell: " + se.getMessage() + "\n");
+ }
+ }
HbckChore hbckChore = master.getHbckChore();
Map This page displays two reports: the HBCK Chore Report and the CatalogJanitor Consistency Issues report. Only report titles show if there are no problems to list. Note some conditions are transitory as regions migrate. See below for how to run reports. ServerNames will be links if server is live, italic if dead, and plain if unknown. This page displays two reports: the HBCK Chore Report and
+ the CatalogJanitor Consistency Issues report. Only report titles
+ show if there are no problems to list. Note some conditions are
+ transitory as regions migrate. Reports are generated
+ when you invoke this page unless you add ?cache=true to the URL. Then
+ we display the reports cached from the last time the reports were run.
+ Reports are run by Chores that are hosted by the Master on a cadence.
+ You can also run them on demand from the hbase shell: invoke catalogjanitor_run
+ and/or hbck_chore_run.
+ ServerNames will be links if server is live, italic if dead, and plain if unknown.
<% if (report != null) { %>
- Report created: <%= iso8601reportTime %> (now=<%= iso8601Now %>). Run catalogjanitor_run in hbase shell to generate a new sub-report.CatalogJanitor hbase:meta Consistency Issues