Java 类org.apache.hadoop.hdfs.server.namenode.ha.HAContext 实例源码

项目:hadoop-plus    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 * @param haContext 
 * @throws IOException
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null &&
      !safeMode.isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
}
项目:FlexMap    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null && !isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
  snapshotManager.registerMXBean();
}
项目:hadoop-TCP    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 * @param haContext 
 * @throws IOException
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null &&
      !safeMode.isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
}
项目:hardfs    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 * @param haContext 
 * @throws IOException
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null &&
      !safeMode.isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
}
项目:hadoop-on-lustre2    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 * @param haContext 
 * @throws IOException
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null && !isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
}
项目:hadoop    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null && !isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
  if (inodeAttributeProvider != null) {
    inodeAttributeProvider.start();
    dir.setINodeAttributeProvider(inodeAttributeProvider);
  }
  snapshotManager.registerMXBean();
}
项目:hadoop    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hadoop    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hadoop    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:aliyun-oss-hadoop-fs    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert !blockManager.isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    long completeBlocksTotal = getCompleteBlocksTotal();
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
        completeBlocksTotal);
    blockManager.activate(conf, completeBlocksTotal);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
  if (inodeAttributeProvider != null) {
    inodeAttributeProvider.start();
    dir.setINodeAttributeProvider(inodeAttributeProvider);
  }
  snapshotManager.registerMXBean();
}
项目:aliyun-oss-hadoop-fs    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:aliyun-oss-hadoop-fs    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:aliyun-oss-hadoop-fs    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);
  BlockManager bm = fsn.getBlockManager();
  Whitebox.setInternalState(bm, "namesystem", fsn);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Mockito.when(fsn.getHAContext()).thenReturn(haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !bm.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", bm.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", bm.isPopulatingReplQueues());
}
项目:big-c    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null && !isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
  if (inodeAttributeProvider != null) {
    inodeAttributeProvider.start();
    dir.setINodeAttributeProvider(inodeAttributeProvider);
  }
  snapshotManager.registerMXBean();
}
项目:big-c    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:big-c    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:big-c    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hadoop-2.6.0-cdh5.4.3    文件:FSNamesystem.java   
/** 
 * Start services common to both active and standby states
 */
void startCommonServices(Configuration conf, HAContext haContext) throws IOException {
  this.registerMBean(); // register the MBean for the FSNamesystemState
  writeLock();
  this.haContext = haContext;
  try {
    nnResourceChecker = new NameNodeResourceChecker(conf);
    checkAvailableResources();
    assert safeMode != null && !isPopulatingReplQueues();
    StartupProgress prog = NameNode.getStartupProgress();
    prog.beginPhase(Phase.SAFEMODE);
    prog.setTotal(Phase.SAFEMODE, STEP_AWAITING_REPORTED_BLOCKS,
      getCompleteBlocksTotal());
    setBlockTotal();
    blockManager.activate(conf);
  } finally {
    writeUnlock();
  }

  registerMXBean();
  DefaultMetricsSystem.instance().register(this);
  snapshotManager.registerMXBean();
  authzProvider = ReflectionUtils.newInstance(conf.getClass(
      DFS_NAMENODE_AUTHORIZATION_PROVIDER_KEY,
      DefaultAuthorizationProvider.class,
      AuthorizationProvider.class), conf);
  authzProvider.start();
  AuthorizationProvider.set(authzProvider);
  snapshotManager.initAuthorizationProvider();
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hadoop-plus    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hadoop-plus    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hadoop-plus    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:FlexMap    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:FlexMap    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:FlexMap    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hadoop-TCP    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hadoop-TCP    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hadoop-TCP    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hardfs    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hardfs    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hardfs    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hadoop-on-lustre2    文件:BackupState.java   
@Override // HAState
public void enterState(HAContext context) throws ServiceFailedException {
  try {
    context.startActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to start backup services", e);
  }
}
项目:hadoop-on-lustre2    文件:BackupState.java   
@Override // HAState
public void exitState(HAContext context) throws ServiceFailedException {
  try {
    context.stopActiveServices();
  } catch (IOException e) {
    throw new ServiceFailedException("Failed to stop backup services", e);
  }
}
项目:hadoop-on-lustre2    文件:TestFSNamesystem.java   
@Test
public void testReplQueuesActiveAfterStartupSafemode() throws IOException, InterruptedException{
  Configuration conf = new Configuration();

  FSEditLog fsEditLog = Mockito.mock(FSEditLog.class);
  FSImage fsImage = Mockito.mock(FSImage.class);
  Mockito.when(fsImage.getEditLog()).thenReturn(fsEditLog);

  FSNamesystem fsNamesystem = new FSNamesystem(conf, fsImage);
  FSNamesystem fsn = Mockito.spy(fsNamesystem);

  //Make shouldPopulaeReplQueues return true
  HAContext haContext = Mockito.mock(HAContext.class);
  HAState haState = Mockito.mock(HAState.class);
  Mockito.when(haContext.getState()).thenReturn(haState);
  Mockito.when(haState.shouldPopulateReplQueues()).thenReturn(true);
  Whitebox.setInternalState(fsn, "haContext", haContext);

  //Make NameNode.getNameNodeMetrics() not return null
  NameNode.initMetrics(conf, NamenodeRole.NAMENODE);

  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues were being populated during very first "
      + "safemode", !fsn.isPopulatingReplQueues());
  fsn.leaveSafeMode();
  assertTrue("FSNamesystem didn't leave safemode", !fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated even after leaving "
    + "safemode", fsn.isPopulatingReplQueues());
  fsn.enterSafeMode(false);
  assertTrue("FSNamesystem didn't enter safemode", fsn.isInSafeMode());
  assertTrue("Replication queues weren't being populated after entering "
    + "safemode 2nd time", fsn.isPopulatingReplQueues());
}
项目:hadoop    文件:NameNode.java   
protected HAContext createHAContext() {
  return new NameNodeHAContext();
}
项目:hadoop    文件:BackupState.java   
@Override // HAState
public void checkOperation(HAContext context, OperationCategory op)
    throws StandbyException {
  context.checkOperation(op);
}
项目:hadoop    文件:BackupState.java   
@Override // HAState
public void prepareToExitState(HAContext context) throws ServiceFailedException {
  context.prepareToStopStandbyServices();
}
项目:aliyun-oss-hadoop-fs    文件:NameNode.java   
protected HAContext createHAContext() {
  return new NameNodeHAContext();
}