StopWatch watch = new StopWatch(); watch.start(); ListQueryAPIResponseEntity result = new ListQueryAPIResponseEntity(); try{ validateQueryParameters(startRowkey, pageSize); result.setObj(entityList); result.setTotalResults(entityList.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp()); }else if(!comp.hasAgg() && serviceName.equals(GenericMetricEntity.GENERIC_METRIC_SERVICE)){ result.setObj(entityList); result.setTotalResults(entityList.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp()); obj.addAll(agg.result().entrySet()); if(comp.sortOptions() == null){ result.setObj(obj); }else{ // has sort options result.setObj(PostFlatAggregateSort.sort(agg.result(), comp.sortOptions(), top)); result.setTotalResults(0); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp());
@SuppressWarnings({ "unchecked" }) public static ListQueryAPIResponseEntity convert(Class<? extends TaggedLogAPIEntity> clazz, ListQueryAPIResponseEntity response) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, JsonGenerationException, JsonMappingException, IOException { if (response == null || response.getObj() == null) { return response; final Object obj = response.getObj(); final Map<String, Method> settings = getOrCreateSetterMap(clazz); final Collection<Map<String, Object>> objs = (Collection<Map<String, Object>>) obj; response.setObj(entities); return response;
@Test public void testConvert() throws Exception { Map<String, Object> objectMap = new HashMap<>(); objectMap.put("prefix", "eagle"); objectMap.put("timestamp", 1479264382L); objectMap.put("encodedRowkey", "rowkey"); Map<String, String> tags = new HashMap<>(); tags.put("field1", "value1"); objectMap.put("tags", tags); objectMap.put("remediationID", "ID"); objectMap.put("remediationStatus", "status"); objectMap.put("count", 123456789L); objectMap.put("numHosts", 9); objectMap.put("numClusters", 123456789L); List<Map<String, Object>> mapCollection = new ArrayList<Map<String, Object>>(); mapCollection.add(objectMap); ListQueryAPIResponseEntity listQueryAPIResponseEntity = new ListQueryAPIResponseEntity(); listQueryAPIResponseEntity.setObj(mapCollection); ListQueryAPIResponseConvertHelper listQueryAPIResponseConvertHelper = new ListQueryAPIResponseConvertHelper(); listQueryAPIResponseEntity = listQueryAPIResponseConvertHelper.convert(TestEntity.class, listQueryAPIResponseEntity); List<TestEntity> objs = (List<TestEntity>) listQueryAPIResponseEntity.getObj(); TestEntity entity = objs.get(0); Assert.assertEquals("eagle", entity.getPrefix()); Assert.assertEquals(1479264382L, entity.getTimestamp()); Assert.assertEquals("rowkey", entity.getEncodedRowkey()); Assert.assertEquals("ID", entity.getRemediationID()); Assert.assertEquals("status", entity.getRemediationStatus()); Assert.assertEquals(1, entity.getTags().size()); } }
response = resource.listQuery(query, start, end, 100000, null, false, true, 10, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess()); response = resource.listQueryWithoutCoprocessor(query, start, end, 100000, null, false, true, 10, 1000, false, 0, null,false); Assert.assertNotNull(response); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess());
response = resource.listQuery(query, start, end, 100000, null, false, true, 16, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess()); response = resource.listQuery(query, start, end, 100000, null, false, true, 16, 1000, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess());
StopWatch watch = new StopWatch(); watch.start(); ListQueryAPIResponseEntity result = new ListQueryAPIResponseEntity(); try{ validateQueryParameters(startRowkey, pageSize); result.setObj(entityList); result.setTotalResults(entityList.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp()); }else if(!comp.hasAgg() && serviceName.equals(GenericMetricEntity.GENERIC_METRIC_SERVICE)){ result.setObj(entityList); result.setTotalResults(entityList.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp()); obj.addAll(agg.result().entrySet()); if(comp.sortOptions() == null){ result.setObj(obj); }else{ // has sort options result.setObj(PostFlatAggregateSort.sort(agg.result(), comp.sortOptions(), top)); result.setTotalResults(0); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimestamp());
@SuppressWarnings({ "unchecked" }) public static ListQueryAPIResponseEntity convert(Class<? extends TaggedLogAPIEntity> clazz, ListQueryAPIResponseEntity response) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, JsonGenerationException, JsonMappingException, IOException { if (response == null || response.getObj() == null) { return response; final Object obj = response.getObj(); final Map<String, Method> settings = getOrCreateSetterMap(clazz); final Collection<Map<String, Object>> objs = (Collection<Map<String, Object>>) obj; response.setObj(entities); return response;
response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 6000000, 0, false, 0, "eagle.metric.test"); Assert.assertNotNull(response); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess());
ListQueryAPIResponseEntity result = new ListQueryAPIResponseEntity(); try{ validateQueryParameters(startRowkey, pageSize); result.setObj(entities); result.setTotalResults(entities.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimeStamp()); }catch(Exception ex){ LOG.error("Fail executing list query", ex); result.setException(EagleExceptionWrapper.wrap(ex)); result.setSuccess(false); return result; }finally{ watch.stop(); result.setElapsedms(watch.getTime());
Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 6000000, 0, false, 0, "eagle.metric.test"); Assert.assertNotNull(response); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess());
ListQueryAPIResponseEntity result = new ListQueryAPIResponseEntity(); try{ validateQueryParameters(startRowkey, pageSize); result.setObj(entities); result.setTotalResults(entities.size()); result.setSuccess(true); result.setLastTimestamp(reader.getLastTimestamp()); result.setFirstTimestamp(reader.getFirstTimeStamp()); }catch(Exception ex){ LOG.error("Fail executing list query", ex); result.setException(EagleExceptionWrapper.wrap(ex)); result.setSuccess(false); return result; }finally{ watch.stop(); result.setElapsedms(watch.getTime());
Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: "+query,response.isSuccess()); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess()); response = resource.listQuery(query, start, end, 100000, null, false, false, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Support is null, should success: " + query, response.isSuccess());
Assert.assertFalse(response.isSuccess()); Assert.assertFalse(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertFalse(response.isSuccess()); Assert.assertTrue(response.isSuccess()); Assert.assertTrue(response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue(response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue(response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertFalse("Tag with unsupported operation, should get exception",response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Field with numeric, should success",response.isSuccess()); response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null);
@Test public void testObjectTypeFieldQuery() throws IllegalAccessException, InstantiationException { String startTime = DateTimeUtil.secondsToHumanDate(System.currentTimeMillis() / 1000); String endTime = DateTimeUtil.secondsToHumanDate((System.currentTimeMillis() + 1000) / 1000); String[] partitions = new String[2]; partitions[0] = "cluster"; partitions[1] = "datacenter"; EntityDefinitionManager.registerEntity(TestLogAPIEntity.class); EntityDefinition entityDef = EntityDefinitionManager.getEntityByServiceName("TestLogAPIEntity"); entityDef.setPartitions(partitions); entityDef.setTimeSeries(true); ListQueryResource resource = new ListQueryResource(); String query = "TestLogAPIEntity[]{@cluster}"; // Field with numeric query = "TestLogAPIEntity[@cluster=\"cluster1\" AND @datacenter=\"dc1\" AND " + "(@field1 < 1 or @field2 = 2 or @field3 = 13456789 or @field4 = 987654321 or @field5 = 5.6 or @field7 < \"value7\")]{@cluster}"; ListQueryAPIResponseEntity response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null); Assert.assertNotNull(response); Assert.assertTrue("Field with numeric, should success",response.isSuccess()); }