当前位置: 首页>>代码示例>>Java>>正文


Java HMaster.isInitialized方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.master.HMaster.isInitialized方法的典型用法代码示例。如果您正苦于以下问题:Java HMaster.isInitialized方法的具体用法?Java HMaster.isInitialized怎么用?Java HMaster.isInitialized使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.master.HMaster的用法示例。


在下文中一共展示了HMaster.isInitialized方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: process

import org.apache.hadoop.hbase.master.HMaster; //导入方法依赖的package包/类
@Override
public void process() {
  TableName tableName = this.hTableDescriptor.getTableName();
  LOG.info("Create table " + tableName);
  HMaster master = ((HMaster) this.server);
  try {
    final MasterCoprocessorHost cpHost = master.getMasterCoprocessorHost();
    if (cpHost != null) {
      cpHost.preCreateTableHandler(this.hTableDescriptor, this.newRegions);
    }
    handleCreateTable(tableName);
    completed(null);
    if (cpHost != null) {
      this.activeUser.runAs(new PrivilegedExceptionAction<Void>() {
        @Override
        public Void run() throws Exception {
          cpHost.postCreateTableHandler(hTableDescriptor, newRegions);
          return null;
        }
      });
    }
  } catch (Throwable e) {
    LOG.error("Error trying to create the table " + tableName, e);
    if (master.isInitialized()) {
      try {
        ((HMaster) this.server).getMasterQuotaManager().removeTableFromNamespaceQuota(
          hTableDescriptor.getTableName());
      } catch (IOException e1) {
        LOG.error("Error trying to update namespace quota " + e1);
      }
    }
    completed(e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:35,代码来源:CreateTableHandler.java

示例2: testMasterInitializedEvent

import org.apache.hadoop.hbase.master.HMaster; //导入方法依赖的package包/类
@Test
public void testMasterInitializedEvent() throws Exception {
  TableName tableName = TableName.valueOf("testMasterInitializedEvent");
  HMaster master = UTIL.getMiniHBaseCluster().getMaster();
  ProcedureExecutor<MasterProcedureEnv> procExec = master.getMasterProcedureExecutor();
  MasterProcedureScheduler procSched = procExec.getEnvironment().getProcedureQueue();

  HRegionInfo hri = new HRegionInfo(tableName);
  HTableDescriptor htd = new HTableDescriptor(tableName);
  HColumnDescriptor hcd = new HColumnDescriptor("f");
  htd.addFamily(hcd);

  while (!master.isInitialized()) Thread.sleep(250);
  master.setInitialized(false); // fake it, set back later

  CreateTableProcedure proc = new CreateTableProcedure(
    procExec.getEnvironment(), htd, new HRegionInfo[] { hri });

  long pollCalls = procSched.getPollCalls();
  long nullPollCalls = procSched.getNullPollCalls();

  long procId = procExec.submitProcedure(proc, HConstants.NO_NONCE, HConstants.NO_NONCE);
  for (int i = 0; i < 10; ++i) {
    Thread.sleep(100);
    assertEquals(pollCalls + 1, procSched.getPollCalls());
    assertEquals(nullPollCalls, procSched.getNullPollCalls());
  }

  master.setInitialized(true);
  ProcedureTestingUtility.waitProcedure(procExec, procId);

  assertEquals(pollCalls + 2, procSched.getPollCalls());
  assertEquals(nullPollCalls, procSched.getNullPollCalls());
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:35,代码来源:TestMasterProcedureEvents.java

示例3: waitUntilMasterIsInitialized

import org.apache.hadoop.hbase.master.HMaster; //导入方法依赖的package包/类
private void waitUntilMasterIsInitialized(HMaster master)
    throws InterruptedException {
  while (!master.isInitialized()) {
    Thread.sleep(100);
  }
  while (master.getServerManager().areDeadServersInProgress()) {
    Thread.sleep(100);
  }
  LOG.debug("master isInitialized");
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:11,代码来源:TestRSKilledWhenMasterInitializing.java

示例4: testServerCrashProcedureEvent

import org.apache.hadoop.hbase.master.HMaster; //导入方法依赖的package包/类
@Test
public void testServerCrashProcedureEvent() throws Exception {
  TableName tableName = TableName.valueOf("testServerCrashProcedureEventTb");
  HMaster master = UTIL.getMiniHBaseCluster().getMaster();
  ProcedureExecutor<MasterProcedureEnv> procExec = master.getMasterProcedureExecutor();
  MasterProcedureScheduler procSched = procExec.getEnvironment().getProcedureQueue();

  while (!master.isServerCrashProcessingEnabled() || !master.isInitialized() ||
      master.getAssignmentManager().getRegionStates().isRegionsInTransition()) {
    Thread.sleep(25);
  }

  UTIL.createTable(tableName, HBaseTestingUtility.COLUMNS[0]);
  try (Table t = UTIL.getConnection().getTable(tableName)) {
    // Load the table with a bit of data so some logs to split and some edits in each region.
    UTIL.loadTable(t, HBaseTestingUtility.COLUMNS[0]);
  }

  master.setServerCrashProcessingEnabled(false);  // fake it, set back later

  long pollCalls = procSched.getPollCalls();
  long nullPollCalls = procSched.getNullPollCalls();

  // Kill a server. Master will notice but do nothing other than add it to list of dead servers.
  HRegionServer hrs = getServerWithRegions();
  boolean carryingMeta = master.getAssignmentManager()
      .isCarryingMeta(hrs.getServerName()) == AssignmentManager.ServerHostRegion.HOSTING_REGION;
  UTIL.getHBaseCluster().killRegionServer(hrs.getServerName());
  hrs.join();

  // Wait until the expiration of the server has arrived at the master. We won't process it
  // by queuing a ServerCrashProcedure because we have disabled crash processing... but wait
  // here so ServerManager gets notice and adds expired server to appropriate queues.
  while (!master.getServerManager().isServerDead(hrs.getServerName())) Thread.sleep(10);

  // Do some of the master processing of dead servers so when SCP runs, it has expected 'state'.
  master.getServerManager().moveFromOnelineToDeadServers(hrs.getServerName());

  long procId = procExec.submitProcedure(
    new ServerCrashProcedure(hrs.getServerName(), true, carryingMeta));

  for (int i = 0; i < 10; ++i) {
    Thread.sleep(100);
    assertEquals(pollCalls + 1, procSched.getPollCalls());
    assertEquals(nullPollCalls, procSched.getNullPollCalls());
  }

  // Now, reenable processing else we can't get a lock on the ServerCrashProcedure.
  master.setServerCrashProcessingEnabled(true);
  ProcedureTestingUtility.waitProcedure(procExec, procId);

  LOG.debug("server crash processing poll calls: " + procSched.getPollCalls());
  assertTrue(procSched.getPollCalls() >= (pollCalls + 2));
  assertEquals(nullPollCalls, procSched.getNullPollCalls());

  UTIL.deleteTable(tableName);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:58,代码来源:TestMasterProcedureEvents.java


注:本文中的org.apache.hadoop.hbase.master.HMaster.isInitialized方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。