@Test public void testCreatePreHookEventJsonShhouldMatch() throws Exception { TimelineEntity timelineEntity = uut.createPreHookEvent( "test-query-id", "test-query", new org.json.JSONObject(), 0L, "test-user", "test-request-user", 0, 0, "test-opid", "client-ip-address", "hive-instance-address", "hive-instance-type", "session-id", "log-id", "thread-id", "execution-mode", Collections.<String>emptyList(), Collections.<String>emptyList(), new HiveConf(), null, "domain-id"); String resultStr = (String) timelineEntity.getOtherInfo() .get(ATSHook.OtherInfoTypes.QUERY.name()); JsonNode result = objectMapper.readTree(resultStr); JsonNode expected = objectMapper.readTree("{\"queryText\":\"test-query\"," + "\"queryPlan\":{}}"); assertEquals(expected, result); } }
private static void assertOtherInfo(TimelineEntity entity) { Assert.assertNotNull(entity.getOtherInfo()); Assert.assertNotNull(entity.getOtherInfoJAXB()); Assert.assertTrue(entity.getOtherInfo() instanceof HashMap); Assert.assertTrue(entity.getOtherInfoJAXB() instanceof HashMap); Assert.assertEquals(entity.getOtherInfo(), entity.getOtherInfoJAXB()); }
@Test(timeout = 10000) public void testPublishHostPortInfoOnContainerFinished() throws Exception { ContainerId containerId = ContainerId.newContainerId(ApplicationAttemptId.newInstance( ApplicationId.newInstance(0, 1), 1), 1); RMContainer container = createRMContainer(containerId); metricsPublisher.containerFinished(container, container.getFinishTime()); TimelineEntity entity = null; do { entity = store.getEntity(containerId.toString(), ContainerMetricsConstants.ENTITY_TYPE, EnumSet.allOf(Field.class)); } while (entity == null || entity.getEvents().size() < 1); Assert.assertNotNull(entity.getOtherInfo()); Assert.assertEquals(2, entity.getOtherInfo().size()); Assert.assertNotNull(entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_INFO)); Assert.assertNotNull(entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_INFO)); Assert.assertEquals( container.getAllocatedNode().getHost(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_INFO)); Assert.assertEquals( container.getAllocatedNode().getPort(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_INFO)); }
private static void assertOtherInfo(TimelineEntity entity) { Assert.assertNotNull(entity.getOtherInfo()); Assert.assertNotNull(entity.getOtherInfoJAXB()); Assert.assertTrue(entity.getOtherInfo() instanceof HashMap); Assert.assertTrue(entity.getOtherInfoJAXB() instanceof HashMap); Assert.assertEquals(entity.getOtherInfo(), entity.getOtherInfoJAXB()); }
@Test(timeout = 10000) public void testPublishHostPortInfoOnContainerFinished() throws Exception { ContainerId containerId = ContainerId.newContainerId(ApplicationAttemptId.newInstance( ApplicationId.newInstance(0, 1), 1), 1); RMContainer container = createRMContainer(containerId); metricsPublisher.containerFinished(container, container.getFinishTime()); TimelineEntity entity = null; do { entity = store.getEntity(containerId.toString(), ContainerMetricsConstants.ENTITY_TYPE, EnumSet.allOf(Field.class)); } while (entity == null || entity.getEvents().size() < 1); Assert.assertNotNull(entity.getOtherInfo()); Assert.assertEquals(2, entity.getOtherInfo().size()); Assert.assertNotNull(entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_ENTITY_INFO)); Assert.assertNotNull(entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedNode().getHost(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedNode().getPort(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_ENTITY_INFO)); }
private static void assertOtherInfo(TimelineEntity entity) { Assert.assertNotNull(entity.getOtherInfo()); Assert.assertNotNull(entity.getOtherInfoJAXB()); Assert.assertTrue(entity.getOtherInfo() instanceof HashMap); Assert.assertTrue(entity.getOtherInfoJAXB() instanceof HashMap); Assert.assertEquals(entity.getOtherInfo(), entity.getOtherInfoJAXB()); }
entityToReturn.addOtherInfo(entity.getOtherInfo()); } else { entityToReturn.setOtherInfo(null);
entityToReturn.addOtherInfo(entity.getOtherInfo()); } else { entityToReturn.setOtherInfo(null);
entityToReturn.addOtherInfo(entity.getOtherInfo()); } else { entityToReturn.setOtherInfo(null);
private static void verifyEntities(TimelineEntities entities) { Assert.assertNotNull(entities); Assert.assertEquals(3, entities.getEntities().size()); TimelineEntity entity1 = entities.getEntities().get(0); Assert.assertNotNull(entity1); Assert.assertEquals("id_1", entity1.getEntityId()); Assert.assertEquals("type_1", entity1.getEntityType()); Assert.assertEquals(123l, entity1.getStartTime().longValue()); Assert.assertEquals(2, entity1.getEvents().size()); Assert.assertEquals(4, entity1.getPrimaryFilters().size()); Assert.assertEquals(4, entity1.getOtherInfo().size()); TimelineEntity entity2 = entities.getEntities().get(1); Assert.assertNotNull(entity2); Assert.assertEquals("id_2", entity2.getEntityId()); Assert.assertEquals("type_1", entity2.getEntityType()); Assert.assertEquals(123l, entity2.getStartTime().longValue()); Assert.assertEquals(2, entity2.getEvents().size()); Assert.assertEquals(4, entity2.getPrimaryFilters().size()); Assert.assertEquals(4, entity2.getOtherInfo().size()); TimelineEntity entity3 = entities.getEntities().get(2); Assert.assertNotNull(entity2); Assert.assertEquals("id_6", entity3.getEntityId()); Assert.assertEquals("type_1", entity3.getEntityType()); Assert.assertEquals(61l, entity3.getStartTime().longValue()); Assert.assertEquals(0, entity3.getEvents().size()); Assert.assertEquals(4, entity3.getPrimaryFilters().size()); Assert.assertEquals(4, entity3.getOtherInfo().size()); }
Assert.assertEquals(1, entity.getOtherInfo().size()); Assert.assertEquals("NEW_OTHER_INFO_KEY", entity.getOtherInfo().keySet().iterator().next()); Assert.assertEquals("NEW_OTHER_INFO_VALUE", entity.getOtherInfo().values().iterator().next()); Assert.assertEquals(0, entity.getOtherInfo().size());
@Test public void testGetEntity() throws Exception { WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("timeline") .path("type_1").path("id_1") .accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); assertEquals(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8, response.getType().toString()); TimelineEntity entity = response.getEntity(TimelineEntity.class); Assert.assertNotNull(entity); Assert.assertEquals("id_1", entity.getEntityId()); Assert.assertEquals("type_1", entity.getEntityType()); Assert.assertEquals(123l, entity.getStartTime().longValue()); Assert.assertEquals(2, entity.getEvents().size()); Assert.assertEquals(4, entity.getPrimaryFilters().size()); Assert.assertEquals(4, entity.getOtherInfo().size()); }
@Test public void testGetEntityFields1() throws Exception { WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("timeline") .path("type_1").path("id_1").queryParam("fields", "events,otherinfo") .accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); assertEquals(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8, response.getType().toString()); TimelineEntity entity = response.getEntity(TimelineEntity.class); Assert.assertNotNull(entity); Assert.assertEquals("id_1", entity.getEntityId()); Assert.assertEquals("type_1", entity.getEntityType()); Assert.assertEquals(123l, entity.getStartTime().longValue()); Assert.assertEquals(2, entity.getEvents().size()); Assert.assertEquals(0, entity.getPrimaryFilters().size()); Assert.assertEquals(4, entity.getOtherInfo().size()); }
Assert.assertEquals( container.getAllocatedNode().getHost(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_INFO)); Assert.assertEquals( container.getAllocatedNode().getPort(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_INFO)); Assert.assertEquals(container.getAllocatedResource().getMemorySize(), ((Integer) entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_MEMORY_INFO)) .longValue()); Assert.assertEquals( container.getAllocatedResource().getVirtualCores(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_VCORE_INFO)); Assert.assertEquals( container.getAllocatedPriority().getPriority(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PRIORITY_INFO)); boolean hasCreatedEvent = false;
Assert.assertEquals( container.getAllocatedNode().getHost(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_HOST_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedNode().getPort(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PORT_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedResource().getMemory(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_MEMORY_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedResource().getVirtualCores(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_VCORE_ENTITY_INFO)); Assert.assertEquals( container.getAllocatedPriority().getPriority(), entity.getOtherInfo().get( ContainerMetricsConstants.ALLOCATED_PRIORITY_ENTITY_INFO)); boolean hasCreatedEvent = false;
@Test public void testGetEntityFields2() throws Exception { WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("timeline") .path("type_1").path("id_1").queryParam("fields", "lasteventonly," + "primaryfilters,relatedentities") .accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); assertEquals(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8, response.getType().toString()); TimelineEntity entity = response.getEntity(TimelineEntity.class); Assert.assertNotNull(entity); Assert.assertEquals("id_1", entity.getEntityId()); Assert.assertEquals("type_1", entity.getEntityType()); Assert.assertEquals(123l, entity.getStartTime().longValue()); Assert.assertEquals(1, entity.getEvents().size()); Assert.assertEquals(4, entity.getPrimaryFilters().size()); Assert.assertEquals(0, entity.getOtherInfo().size()); }
Assert.assertEquals(2, entity1.getEvents().size()); Assert.assertEquals(2, entity1.getPrimaryFilters().size()); Assert.assertEquals(2, entity1.getOtherInfo().size()); Assert.assertEquals("domain id 0", entity1.getDomainId()); TimelineEntity entity2 = entities.getEntities().get(1); Assert.assertEquals(2, entity2.getEvents().size()); Assert.assertEquals(2, entity2.getPrimaryFilters().size()); Assert.assertEquals(2, entity2.getOtherInfo().size()); Assert.assertEquals("domain id 1", entity2.getDomainId());
Assert.assertEquals(2, entity1.getEvents().size()); Assert.assertEquals(2, entity1.getPrimaryFilters().size()); Assert.assertEquals(2, entity1.getOtherInfo().size()); Assert.assertEquals("domain id 0", entity1.getDomainId()); TimelineEntity entity2 = entities.getEntities().get(1); Assert.assertEquals(2, entity2.getEvents().size()); Assert.assertEquals(2, entity2.getPrimaryFilters().size()); Assert.assertEquals(2, entity2.getOtherInfo().size()); Assert.assertEquals("domain id 1", entity2.getDomainId());
Assert.assertEquals(2, entity1.getEvents().size()); Assert.assertEquals(2, entity1.getPrimaryFilters().size()); Assert.assertEquals(2, entity1.getOtherInfo().size()); Assert.assertEquals("domain id 0", entity1.getDomainId()); TimelineEntity entity2 = entities.getEntities().get(1); Assert.assertEquals(2, entity2.getEvents().size()); Assert.assertEquals(2, entity2.getPrimaryFilters().size()); Assert.assertEquals(2, entity2.getOtherInfo().size()); Assert.assertEquals("domain id 1", entity2.getDomainId());
assertNull(retrievedEntityInfo.getOtherInfo()); } else { assertTrue(otherInfo.equals(retrievedEntityInfo.getOtherInfo()));