org.apache.hadoop.hbase.generated.master.procedures_jsp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hbase-server Show documentation
Show all versions of hbase-server Show documentation
Server functionality for HBase
package org.apache.hadoop.hbase.generated.master;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import static org.apache.commons.lang3.StringEscapeUtils.escapeXml;
import java.util.Collections;
import java.util.Comparator;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
import org.apache.hadoop.hbase.master.procedure.ProcedureDescriber;
import org.apache.hadoop.hbase.procedure2.LockedResource;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
import org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile;
import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;
import org.apache.hadoop.hbase.procedure2.util.StringUtils;
import org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
public final class procedures_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {
private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
private static java.util.List _jspx_dependants;
private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;
public java.util.List getDependants() {
return _jspx_dependants;
}
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;
try {
response.setContentType("text/html;charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
_jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");
out.write('\n');
out.write('\n');
HMaster master = (HMaster) getServletContext().getAttribute(HMaster.MASTER);
ProcedureExecutor procExecutor = master.getMasterProcedureExecutor();
WALProcedureStore walStore = master.getWalProcedureStore();
ArrayList syncMetricsBuff = walStore.getSyncMetrics();
long millisToNextRoll = walStore.getMillisToNextPeriodicRoll();
long millisFromLastRoll = walStore.getMillisFromLastRoll();
ArrayList procedureWALFiles = walStore.getActiveLogs();
Set corruptedWALFiles = walStore.getCorruptedLogs();
List> procedures = procExecutor.getProcedures();
Collections.sort(procedures, new Comparator() {
@Override
public int compare(Procedure lhs, Procedure rhs) {
long cmp = lhs.getParentProcId() - rhs.getParentProcId();
cmp = cmp != 0 ? cmp : lhs.getProcId() - rhs.getProcId();
return cmp < 0 ? -1 : cmp > 0 ? 1 : 0;
}
});
List lockedResources = master.getLocks();
pageContext.setAttribute("pageTitle", "HBase Master Procedures: " + master.getServerName());
out.write('\n');
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "header.jsp" + "?" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("pageTitle", request.getCharacterEncoding())+ "=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.evaluateExpression("${pageTitle}", java.lang.String.class, (PageContext)_jspx_page_context, null), request.getCharacterEncoding()), out, false);
out.write("\n\n\n \n \n Procedures
\n \n \n \n \n Id \n Parent \n State \n Owner \n Type \n Start Time \n Last Update \n Errors \n Parameters \n \n ");
for (Procedure proc : procedures) {
out.write("\n \n ");
out.print( proc.getProcId() );
out.write(" \n ");
out.print( proc.hasParent() ? proc.getParentProcId() : "" );
out.write(" \n ");
out.print( escapeXml(proc.getState().toString() + (proc.isBypass() ? "(Bypass)" : "")) );
out.write(" \n ");
out.print( proc.hasOwner() ? escapeXml(proc.getOwner()) : "" );
out.write(" \n ");
out.print( escapeXml(proc.getProcName()) );
out.write(" \n ");
out.print( new Date(proc.getSubmittedTime()) );
out.write(" \n ");
out.print( new Date(proc.getLastUpdate()) );
out.write(" \n ");
out.print( escapeXml(proc.isFailed() ? proc.getException().unwrapRemoteIOException().getMessage() : "") );
out.write(" \n ");
out.print( escapeXml(ProcedureDescriber.describeParameters(proc)) );
out.write(" \n \n ");
}
out.write("\n
\n\n
\n\n \n \n Procedure WAL State
\n \n \n \n \n - \n WAL files\n
\n - \n Corrupted WAL files\n
\n - \n WAL roll time\n
\n - \n Sync stats\n
\n
\n \n \n ");
if (procedureWALFiles != null && procedureWALFiles.size() > 0) {
out.write("\n \n \n LogID \n Size \n Timestamp \n Path \n \n ");
for (int i = procedureWALFiles.size() - 1; i >= 0; --i) {
out.write("\n ");
ProcedureWALFile pwf = procedureWALFiles.get(i);
out.write("\n \n ");
out.print( pwf.getLogId() );
out.write(" \n ");
out.print( TraditionalBinaryPrefix.long2String(pwf.getSize(), "B", 1) );
out.write(" \n ");
out.print( new Date(pwf.getTimestamp()) );
out.write(" \n ");
out.print( escapeXml(pwf.toString()) );
out.write(" \n \n ");
}
out.write("\n
\n ");
} else {
out.write("\n No WAL files
\n ");
}
out.write("\n \n \n ");
if (corruptedWALFiles != null && corruptedWALFiles.size() > 0) {
out.write("\n \n \n LogID \n Size \n Timestamp \n Path \n \n ");
for (ProcedureWALFile cwf:corruptedWALFiles) {
out.write("\n \n ");
out.print( cwf.getLogId() );
out.write(" \n ");
out.print( TraditionalBinaryPrefix.long2String(cwf.getSize(), "B", 1) );
out.write(" \n ");
out.print( new Date(cwf.getTimestamp()) );
out.write(" \n ");
out.print( escapeXml(cwf.toString()) );
out.write(" \n \n ");
}
out.write("\n
\n ");
} else {
out.write("\n No corrupted WAL files
\n ");
}
out.write("\n \n \n \n \n Milliseconds to next roll \n Milliseconds from last roll \n \n \n ");
out.print(StringUtils.humanTimeDiff(millisToNextRoll) );
out.write(" \n ");
out.print(StringUtils.humanTimeDiff(millisFromLastRoll) );
out.write(" \n \n
\n \n \n \n \n Time \n Sync Wait \n Last num of synced entries \n Total Synced \n Synced per second \n \n ");
for (int i = syncMetricsBuff.size() - 1; i >= 0; --i) {
out.write("\n ");
WALProcedureStore.SyncMetrics syncMetrics = syncMetricsBuff.get(i);
out.write("\n \n ");
out.print( new Date(syncMetrics.getTimestamp()) );
out.write(" \n ");
out.print( StringUtils.humanTimeDiff(syncMetrics.getSyncWaitMs()) );
out.write(" \n ");
out.print( syncMetrics.getSyncedEntries() );
out.write(" \n ");
out.print( TraditionalBinaryPrefix.long2String(syncMetrics.getTotalSyncedBytes(), "B", 1) );
out.write(" \n ");
out.print( TraditionalBinaryPrefix.long2String((long)syncMetrics.getSyncedPerSec(), "B", 1) );
out.write(" \n \n ");
}
out.write("\n
\n \n \n \n\n
\n\n \n \n Locks
\n \n \n ");
for (LockedResource lockedResource : lockedResources) {
out.write("\n ");
out.print( lockedResource.getResourceType() );
out.write(':');
out.write(' ');
out.print( lockedResource.getResourceName() );
out.write("
\n ");
switch (lockedResource.getLockType()) {
case EXCLUSIVE:
out.write("\n Lock type: EXCLUSIVE
\n Owner procedure: ");
out.print( escapeXml(ProcedureDescriber.describe(lockedResource.getExclusiveLockOwnerProcedure())) );
out.write("
\n ");
break;
case SHARED:
out.write("\n Lock type: SHARED
\n Number of shared locks: ");
out.print( lockedResource.getSharedLockCount() );
out.write("
\n ");
break;
}
List> waitingProcedures = lockedResource.getWaitingProcedures();
if (!waitingProcedures.isEmpty()) {
out.write("\n Waiting procedures
\n \n ");
for (Procedure proc : procedures) {
out.write("\n \n ");
out.print( escapeXml(ProcedureDescriber.describe(proc)) );
out.write(" \n \n ");
}
out.write("\n
\n ");
}
out.write("\n ");
}
out.write("\n \n\n");
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "footer.jsp", out, false);
out.write('\n');
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
else throw new ServletException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}