org.apache.hadoop.hbase.generated.master.quotas_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 java.util.concurrent.TimeUnit;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
import org.apache.hadoop.hbase.quotas.QuotaRetriever;
import org.apache.hadoop.hbase.quotas.QuotaSettings;
import org.apache.hadoop.hbase.quotas.ThrottleSettings;
public final class quotas_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);
Configuration conf = master.getConfiguration();
pageContext.setAttribute("pageTitle", "HBase Master Quotas: " + master.getServerName());
List regionServerThrottles = new ArrayList<>();
List namespaceThrottles = new ArrayList<>();
List userThrottles = new ArrayList<>();
MasterQuotaManager quotaManager = master.getMasterQuotaManager();
boolean exceedThrottleQuotaEnabled = false;
if (quotaManager != null) {
exceedThrottleQuotaEnabled = quotaManager.isExceedThrottleQuotaEnabled();
try (QuotaRetriever scanner = QuotaRetriever.open(conf, null)) {
for (QuotaSettings quota : scanner) {
if (quota instanceof ThrottleSettings) {
ThrottleSettings throttle = (ThrottleSettings) quota;
if (throttle.getUserName() != null) {
userThrottles.add(throttle);
} else if (throttle.getNamespace() != null) {
namespaceThrottles.add(throttle);
} else if (throttle.getRegionServer() != null) {
regionServerThrottles.add(throttle);
}
}
}
}
}
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 Throttle Quotas
\n \n \n\n\n");
if (quotaManager != null) {
out.write("\n\n\n \n \n Rpc Throttle Enabled
\n \n \n ");
if (quotaManager.isRpcThrottleEnabled()) {
out.write("\n \n Rpc throttle is enabled.\n \n ");
} else {
out.write("\n \n Rpc throttle is disabled. All requests will not be throttled.
\n Use 'enable_rpc_throttle' shell command to enable it.\n \n ");
}
out.write("\n\n\n\n \n \n Exceed Throttle Quota Enabled
\n \n \n ");
if (exceedThrottleQuotaEnabled) {
out.write("\n \n Exceed throttle quota is enabled. The user/table/namespace throttle quotas can exceed the limit\n if a region server has available quotas.
\n Use 'disable_exceed_throttle_quota' shell command to disable it.\n \n ");
} else {
out.write("\n \n Exceed throttle quota is disabled.\n \n ");
}
out.write("\n\n\n\n \n \n RegionServer Throttle Quotas
\n \n \n");
if (regionServerThrottles.size() > 0) {
out.write("\n \n \n RegionServer \n Limit \n Type \n TimeUnit \n Scope \n \n ");
for (ThrottleSettings throttle : regionServerThrottles) {
out.write("\n \n ");
out.print( throttle.getRegionServer() == null ? "" : throttle.getRegionServer() );
out.write(" \n ");
out.print( throttle.getSoftLimit() );
out.write(" \n ");
out.print( throttle.getThrottleType() );
out.write(" \n ");
out.print( throttle.getTimeUnit() );
out.write(" \n ");
out.print( throttle.getQuotaScope() );
out.write(" \n ");
if (exceedThrottleQuotaEnabled && throttle.getTimeUnit() != null && throttle.getTimeUnit() != TimeUnit.SECONDS) {
out.write("\n Exceed throttle quota is enabled, but RegionServer throttle is not in SECONDS time unit. \n ");
}
out.write("\n \n ");
}
out.write("\n
\n ");
} else if (exceedThrottleQuotaEnabled) {
out.write("\n \n Exceed throttle quota is enabled, but RegionServer throttle quotas are not set.
\n Please set RegionServer read and write throttle quotas in SECONDS time unit.
\n eg. set_quota TYPE => THROTTLE, REGIONSERVER => 'all', THROTTLE_TYPE => WRITE, LIMIT => '20000req/sec'\n \n ");
}
out.write("\n\n\n\n \n \n Namespace Throttle Quotas
\n \n \n ");
if (namespaceThrottles.size() > 0) {
out.write("\n \n \n Namespace \n Limit \n Type \n TimeUnit \n Scope \n \n ");
for (ThrottleSettings throttle : namespaceThrottles) {
out.write("\n \n ");
out.print( throttle.getNamespace() == null ? "" : throttle.getNamespace() );
out.write(" \n ");
out.print( throttle.getSoftLimit() );
out.write(" \n ");
out.print( throttle.getThrottleType() );
out.write(" \n ");
out.print( throttle.getTimeUnit() );
out.write(" \n ");
out.print( throttle.getQuotaScope() );
out.write(" \n \n ");
}
out.write("\n
\n ");
}
out.write("\n\n\n\n \n \n User Throttle Quotas
\n \n \n ");
if (userThrottles.size() > 0) {
out.write("\n \n \n User \n Namespace \n Table \n Limit \n Type \n TimeUnit \n Scope \n \n ");
for (ThrottleSettings throttle : userThrottles) {
out.write("\n \n ");
out.print( throttle.getUserName() == null ? "" : throttle.getUserName() );
out.write(" \n ");
out.print( throttle.getNamespace() == null ? "" : throttle.getNamespace() );
out.write(" \n ");
out.print( throttle.getTableName() == null ? "" : throttle.getTableName() );
out.write(" \n ");
out.print( throttle.getSoftLimit() );
out.write(" \n ");
out.print( throttle.getThrottleType() );
out.write(" \n ");
out.print( throttle.getTimeUnit() );
out.write(" \n ");
out.print( throttle.getQuotaScope() );
out.write(" \n \n ");
}
out.write("\n
\n ");
}
out.write("\n\n\n");
}
out.write('\n');
out.write('\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);
}
}
}