Exemplo n.º 1
0
  @Test
  public void testNoPingNoHeartbeat() {
    Assert.assertFalse(fD.isFailed("id", 0));
    fD.registerMonitored("id", 0, 100, 50);

    Assert.assertFalse(fD.isFailed("id", 10));
    Assert.assertFalse(fD.shouldPing("id", 10));
    Assert.assertEquals(10, fD.getIdleTime("id", 10).longValue());
    Assert.assertEquals(40, fD.getTimeToNextPing("id", 10).longValue()); // timeout/2

    Assert.assertFalse(fD.isFailed("id", 80));
    Assert.assertTrue(fD.shouldPing("id", 80));
    Assert.assertEquals(80, fD.getIdleTime("id", 80).longValue());
    // no ping sent, negative time to next ping
    Assert.assertEquals(-30, fD.getTimeToNextPing("id", 80).longValue());

    // one interval grace period, should fail at t=200
    Assert.assertFalse(fD.isFailed("id", 120));

    Assert.assertTrue(fD.isFailed("id", 220));

    fD.releaseMonitored("id");
    Assert.assertFalse(fD.isFailed("id", 250));
    Assert.assertFalse(fD.shouldPing("id", 250));
  }
Exemplo n.º 2
0
  @Test
  public void testPingObjects() {
    // no hb, works like a fixed fd
    Assert.assertFalse(fD.isFailed("id", 0));
    fD.registerMonitored("id", 0, 100, 50);

    Assert.assertFalse(fD.isFailed("id", 10));
    Assert.assertFalse(fD.shouldPing("id", 10));
    Assert.assertEquals(10, fD.getIdleTime("id", 10).longValue());
    Assert.assertEquals(40, fD.getTimeToNextPing("id", 10).longValue()); // timeout/2

    Assert.assertFalse(fD.isFailed("id", 50));
    Assert.assertTrue(fD.shouldPing("id", 50));
    Assert.assertEquals(80, fD.getIdleTime("id", 80).longValue());
    Assert.assertEquals(-30, fD.getTimeToNextPing("id", 80).longValue());

    fD.messageSent("id", 200, MessageType.PING);

    // We give a one interval grace period
    Assert.assertTrue(fD.isFailed("id", 220));
    Assert.assertFalse(fD.shouldPing("id", 220));
    Assert.assertEquals(220, fD.getIdleTime("id", 220).longValue());
    Assert.assertEquals(30, fD.getTimeToNextPing("id", 220).longValue());
  }
Exemplo n.º 3
0
  @Test
  public void testHeartbeatReceiving() {
    Assert.assertFalse(fD.isFailed("id", 0));
    fD.registerMonitored("id", 0, 100, 50);

    Assert.assertFalse(fD.isFailed("id", 10));
    Assert.assertEquals(10, fD.getIdleTime("id", 10).longValue());
    Assert.assertEquals(40, fD.getTimeToNextPing("id", 10).longValue()); // timeout/2

    fD.messageSent("id", 50, MessageType.PING);

    Assert.assertFalse(fD.isFailed("id", 60));
    Assert.assertEquals(80, fD.getIdleTime("id", 80).longValue());

    fD.messageReceived("id", 90, MessageType.PING);

    Assert.assertFalse(fD.isFailed("id", 120));
    Assert.assertEquals(30, fD.getIdleTime("id", 120).longValue());

    Assert.assertTrue(fD.isFailed("id", 210));
  }