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


Java AlwaysSucceedFencer类代码示例

本文整理汇总了Java中org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer的典型用法代码示例。如果您正苦于以下问题:Java AlwaysSucceedFencer类的具体用法?Java AlwaysSucceedFencer怎么用?Java AlwaysSucceedFencer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AlwaysSucceedFencer类属于org.apache.hadoop.ha.TestNodeFencer包,在下文中一共展示了AlwaysSucceedFencer类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testFailoverAndFailback

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverAndFailback() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  AlwaysSucceedFencer.fenceCalled = 0;
  doFailover(svc1, svc2, false, false);
  assertEquals(0, TestNodeFencer.AlwaysSucceedFencer.fenceCalled);
  assertEquals(HAServiceState.STANDBY, svc1.state);
  assertEquals(HAServiceState.ACTIVE, svc2.state);

  AlwaysSucceedFencer.fenceCalled = 0;
  doFailover(svc2, svc1, false, false);
  assertEquals(0, TestNodeFencer.AlwaysSucceedFencer.fenceCalled);
  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:19,代码来源:TestFailoverController.java

示例2: testFailoverFromActiveToActive

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverFromActiveToActive() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.ACTIVE, svc2Addr);
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Can't failover to an already active service");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.ACTIVE, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:17,代码来源:TestFailoverController.java

示例3: testFailoverWithoutPermission

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverWithoutPermission() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  Mockito.doThrow(new AccessControlException("Access denied"))
      .when(svc1.proxy).getServiceStatus();
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new AccessControlException("Access denied"))
      .when(svc2.proxy).getServiceStatus();
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Can't failover when access is denied");
  } catch (FailoverFailedException ffe) {
    assertTrue(ffe.getCause().getMessage().contains("Access denied"));
  }
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:18,代码来源:TestFailoverController.java

示例4: testFailoverToUnreadyService

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverToUnreadyService() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doReturn(STATE_NOT_READY).when(svc2.proxy)
      .getServiceStatus();
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Can't failover to a service that's not ready");
  } catch (FailoverFailedException ffe) {
    // Expected
    if (!ffe.getMessage().contains("injected not ready")) {
      throw ffe;
    }
  }

  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);

  // Forcing it means we ignore readyToBecomeActive
  doFailover(svc1, svc2, false, true);
  assertEquals(HAServiceState.STANDBY, svc1.state);
  assertEquals(HAServiceState.ACTIVE, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:27,代码来源:TestFailoverController.java

示例5: testFailoverToUnhealthyServiceFailsAndFailsback

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverToUnhealthyServiceFailsAndFailsback() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new HealthCheckFailedException("Failed!"))
      .when(svc2.proxy).monitorHealth();
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Failover to unhealthy service");
  } catch (FailoverFailedException ffe) {
    // Expected
  }
  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:18,代码来源:TestFailoverController.java

示例6: testFailoverFromFaultyServiceSucceeds

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverFromFaultyServiceSucceeds() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc1.proxy).transitionToStandby(anyReqInfo());

  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  AlwaysSucceedFencer.fenceCalled = 0;
  try {
    doFailover(svc1, svc2, false, false);
  } catch (FailoverFailedException ffe) {
    fail("Faulty active prevented failover");
  }

  // svc1 still thinks it's active, that's OK, it was fenced
  assertEquals(1, AlwaysSucceedFencer.fenceCalled);
  assertSame(svc1, AlwaysSucceedFencer.fencedSvc);
  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.ACTIVE, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:23,代码来源:TestFailoverController.java

示例7: testFailoverToNonExistantServiceFails

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverToNonExistantServiceFails() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = spy(new DummyHAService(null, svc2Addr));
  Mockito.doThrow(new IOException("Failed to connect"))
    .when(svc2).getProxy(Mockito.<Configuration>any(),
        Mockito.anyInt());
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Failed over to a non-existant standby");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  assertEquals(HAServiceState.ACTIVE, svc1.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:19,代码来源:TestFailoverController.java

示例8: testFailoverToFaultyServiceFailsbackOK

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailoverToFaultyServiceFailsbackOK() throws Exception {
  DummyHAService svc1 = spy(new DummyHAService(HAServiceState.ACTIVE, svc1Addr));
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc2.proxy).transitionToActive(anyReqInfo());
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Failover to already active service");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  // svc1 went standby then back to active
  verify(svc1.proxy).transitionToStandby(anyReqInfo());
  verify(svc1.proxy).transitionToActive(anyReqInfo());
  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:22,代码来源:TestFailoverController.java

示例9: testWeDontFailbackIfActiveWasFenced

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testWeDontFailbackIfActiveWasFenced() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc2.proxy).transitionToActive(anyReqInfo());
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, true, false);
    fail("Failed over to service that won't transition to active");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  // We failed to failover and did not failback because we fenced
  // svc1 (we forced it), therefore svc1 and svc2 should be standby.
  assertEquals(HAServiceState.STANDBY, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:21,代码来源:TestFailoverController.java

示例10: testWeFenceOnFailbackIfTransitionToActiveFails

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testWeFenceOnFailbackIfTransitionToActiveFails() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc2.proxy).transitionToActive(anyReqInfo());
  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());
  AlwaysSucceedFencer.fenceCalled = 0;

  try {
    doFailover(svc1, svc2, false, false);
    fail("Failed over to service that won't transition to active");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  // We failed to failover. We did not fence svc1 because it cooperated
  // and we didn't force it, so we failed back to svc1 and fenced svc2.
  // Note svc2 still thinks it's active, that's OK, we fenced it.
  assertEquals(HAServiceState.ACTIVE, svc1.state);
  assertEquals(1, AlwaysSucceedFencer.fenceCalled);
  assertSame(svc2, AlwaysSucceedFencer.fencedSvc);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:24,代码来源:TestFailoverController.java

示例11: testFailbackToFaultyServiceFails

import org.apache.hadoop.ha.TestNodeFencer.AlwaysSucceedFencer; //导入依赖的package包/类
@Test
public void testFailbackToFaultyServiceFails() throws Exception {
  DummyHAService svc1 = new DummyHAService(HAServiceState.ACTIVE, svc1Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc1.proxy).transitionToActive(anyReqInfo());
  DummyHAService svc2 = new DummyHAService(HAServiceState.STANDBY, svc2Addr);
  Mockito.doThrow(new ServiceFailedException("Failed!"))
      .when(svc2.proxy).transitionToActive(anyReqInfo());

  svc1.fencer = svc2.fencer = setupFencer(AlwaysSucceedFencer.class.getName());

  try {
    doFailover(svc1, svc2, false, false);
    fail("Failover to already active service");
  } catch (FailoverFailedException ffe) {
    // Expected
  }

  assertEquals(HAServiceState.STANDBY, svc1.state);
  assertEquals(HAServiceState.STANDBY, svc2.state);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:22,代码来源:TestFailoverController.java


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