Search in sources :

Example 1 with Stats

use of com.facebook.presto.failureDetector.HeartbeatFailureDetector.Stats in project presto by prestodb.

the class TestHeartbeatFailureDetector method testHeartbeatStatsSerialization.

@Test
public void testHeartbeatStatsSerialization() throws Exception {
    ObjectMapper objectMapper = new JsonObjectMapperProvider().get();
    Stats stats = new Stats(new URI("http://example.com"), 60);
    String serialized = objectMapper.writeValueAsString(stats);
    JsonNode deserialized = objectMapper.readTree(serialized);
    assertFalse(deserialized.has("lastFailureInfo"));
    stats.recordFailure(new SocketTimeoutException("timeout"));
    serialized = objectMapper.writeValueAsString(stats);
    deserialized = objectMapper.readTree(serialized);
    assertFalse(deserialized.get("lastFailureInfo").isNull());
    assertEquals(deserialized.get("lastFailureInfo").get("type").asText(), SocketTimeoutException.class.getName());
}
Also used : SocketTimeoutException(java.net.SocketTimeoutException) JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) Stats(com.facebook.presto.failureDetector.HeartbeatFailureDetector.Stats) JsonNode(com.fasterxml.jackson.databind.JsonNode) URI(java.net.URI) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.testng.annotations.Test)

Aggregations

JsonObjectMapperProvider (com.facebook.airlift.json.JsonObjectMapperProvider)1 Stats (com.facebook.presto.failureDetector.HeartbeatFailureDetector.Stats)1 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 SocketTimeoutException (java.net.SocketTimeoutException)1 URI (java.net.URI)1 Test (org.testng.annotations.Test)1