/** This tests entityGroup assignment */
 @Test(timeout = 120000)
 public void testAssignEntityGroup() throws Exception {
   String table = "testAssignEntityGroup";
   try {
     FTable desc = FMetaTestUtil.makeTable(table);
     admin.createTable(desc);
     EntityGroupInfo egInfo =
         new EntityGroupInfo(
             Bytes.toBytes(desc.getTableName()), Bytes.toBytes("A"), Bytes.toBytes("Z"));
     FMetaEditor.addEntityGroupToMeta(conf, egInfo);
     FMaster master = TEST_UTIL.getWaspCluster().getMaster();
     master.assignEntityGroup(egInfo);
     master.getAssignmentManager().waitForAssignment(egInfo);
     ServerName serverName =
         master.getAssignmentManager().getEntityGroupStates().getFServerOfEntityGroup(egInfo);
     TEST_UTIL.assertEntityGroupOnServer(egInfo, serverName, 200);
   } finally {
     TEST_UTIL.deleteTable(Bytes.toBytes(table));
   }
 }
Пример #2
0
  @Override
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    FMaster master = (FMaster) getServletContext().getAttribute(FMaster.MASTER);
    assert master != null : "No Master in context!";

    Configuration conf = master.getConfiguration();
    WaspAdmin admin = new WaspAdmin(conf);

    List<ServerName> servers = master.getFServerManager().getOnlineServersList();
    Set<ServerName> deadServers = master.getFServerManager().getDeadServers();

    response.setContentType("text/html");
    MasterStatusTmpl tmpl =
        new MasterStatusTmpl()
            .setShowAppendWarning(shouldShowAppendWarning(conf))
            .setServers(servers)
            .setDeadServers(deadServers);
    if (request.getParameter("filter") != null) tmpl.setFilter(request.getParameter("filter"));
    if (request.getParameter("format") != null) tmpl.setFormat(request.getParameter("format"));
    tmpl.render(response.getWriter(), master, admin);
  }
  EntityGroupInfo createTableAndGetOneEntityGroup(final String tableName)
      throws IOException, InterruptedException {
    FTable desc = FMetaTestUtil.makeTable(tableName);
    admin.createTable(desc, Bytes.toBytes("A"), Bytes.toBytes("Z"), 5);

    // wait till the table is assigned
    FMaster master = TEST_UTIL.getWaspCluster().getMaster();
    long timeoutTime = System.currentTimeMillis() + 100;
    while (true) {
      List<EntityGroupInfo> entityGroups =
          master
              .getAssignmentManager()
              .getEntityGroupStates()
              .getEntityGroupsOfTable(Bytes.toBytes(tableName));
      if (entityGroups.size() > 3) {
        return entityGroups.get(2);
      }
      long now = System.currentTimeMillis();
      if (now > timeoutTime) {
        fail("Could not find an online entityGroup");
      }
      Thread.sleep(10);
    }
  }