All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.hudi.org.apache.hadoop.hbase.generated.master.rits_jsp Maven / Gradle / Ivy

There is a newer version: 1.0.0-beta1
Show newest version
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.List;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.RegionState;
import org.apache.hadoop.hbase.master.assignment.RegionStateNode;
import org.apache.hadoop.hbase.master.assignment.TransitRegionStateProcedure;
import org.apache.hadoop.hbase.util.GsonUtil;
import org.apache.hbase.thirdparty.com.google.gson.Gson;

public final class rits_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);
    List rit = master.getAssignmentManager().getRegionsInTransition();
    String table = request.getParameter("table");
    String state = request.getParameter("state");
    if (table != null && state != null && !table.equals("null") && !state.equals("null")) {
        rit = rit.stream().filter(regionStateNode -> regionStateNode.getTable().getNameAsString().equals(table))
                .filter(regionStateNode -> regionStateNode.getState().name().equals(state))
                .collect(Collectors.toList());
    }

    String format = request.getParameter("format");
    if(format == null || format.isEmpty()){
        format = "html";
    }
    String filter = request.getParameter("filter");
    Collections.sort(rit, new Comparator() {
        @Override
        public int compare(RegionStateNode o1, RegionStateNode o2) {
            if (o1.getState() != o2.getState()){
                return o1.getState().ordinal() - o2.getState().ordinal();
            }
            return o1.compareTo(o2);
        }
    });

      out.write("\n\n\n");
 if (format.equals("html")) { 
      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

Regions in transition

\n
\n
\n
\n
\n Regions in text format\n Procedures in text format\n RIT info as JSON\n

regions and procedures in text format can be copied and passed to command-line utils such as hbck2

\n
\n
\n\n "); if (rit != null && rit.size() > 0) { out.write("\n \n \n \n \n \n \n \n \n \n \n \n "); for (RegionStateNode regionStateNode : rit) { out.write("\n \n \n \n \n \n "); TransitRegionStateProcedure procedure = regionStateNode.getProcedure(); if (procedure == null) { out.write("\n \n \n "); } else { out.write("\n \n \n "); } out.write("\n\n "); RegionState rs = regionStateNode.toRegionState(); out.write("\n \n \n \n "); } out.write("\n

"); out.print( rit.size() ); out.write(" region(s) in transition.

\n
RegionTableRegionStateServerProcedureProcedureStateStart TimeDuration (ms)
"); out.print( regionStateNode.getRegionInfo().getEncodedName() ); out.write(""); out.print( regionStateNode.getRegionInfo().getTable() ); out.write(""); out.print( regionStateNode.getState() ); out.write(""); out.print( regionStateNode.getRegionLocation().getServerName() ); out.write(""); out.print( procedure.getProcId() ); out.write(""); out.print( escapeXml(procedure.getState().toString() + (procedure.isBypass() ? "(Bypassed)" : "")) ); out.write(""); out.print( rs.getStamp() ); out.write(""); out.print( System.currentTimeMillis() - rs.getStamp() ); out.write("
\n "); } else { out.write("\n

no region in transition right now.

\n "); } out.write("\n
\n"); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "footer.jsp", out, false); out.write('\n'); } else if (format.equals("json")) { out.write('\n'); Gson GSON = GsonUtil.createGson().create(); Map>> map = new HashMap<>(); List> rits = new ArrayList<>(); map.put("rits", rits); for (RegionStateNode regionStateNode : rit) { Map r = new HashMap<>(); r.put("region", regionStateNode.getRegionInfo().getEncodedName()); r.put("table", regionStateNode.getRegionInfo().getTable().getNameAsString()); r.put("state", regionStateNode.getState()); r.put("server", regionStateNode.getRegionLocation().getServerName()); TransitRegionStateProcedure procedure = regionStateNode.getProcedure(); if (procedure != null) { r.put("procedureId", procedure.getProcId()); r.put("procedureState", procedure.getState().toString()); } RegionState rs = regionStateNode.toRegionState(); r.put("startTime", rs.getStamp()); r.put("duration", System.currentTimeMillis() - rs.getStamp()); rits.add(r); } out.write("\n "); out.print( GSON.toJson(map) ); out.write('\n'); } else { out.write("\n
\n
\n

\n "); if (filter.equals("region")) { for (RegionStateNode regionStateNode : rit) { out.write("\n "); out.print( regionStateNode.getRegionInfo().getEncodedName() ); out.write("
\n "); } } else if (filter.equals("procedure")) { for (RegionStateNode regionStateNode : rit) { out.write("\n "); out.print( regionStateNode.getProcedure().getProcId() ); out.write("
\n "); } } else { out.write("\n \"Not a valid filter\"\n "); } out.write("\n

\n
\n
\n"); } 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); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy