@Override public void updatePolicyDetails(T entity) { IEagleServiceClient client = new EagleServiceClientImpl(connector); List<T> entityList = new ArrayList<>(); entityList.add(entity); try { client.create(entityList, servicePointName); } catch (IOException | EagleServiceClientException exception) { LOG.error("Exception in updating markdown for policy in HBase ", exception); } finally { try { if (null != client) client.close(); } catch (IOException exception) { LOG.error("Unable to close Eagle service client ", exception); } } } }
@Override public GenericServiceAPIResponseEntity<String> call() throws Exception { return client.search(request); } });
public boolean flush() { //need flush right now if (entities.size() == 0) { return true; } try (IEagleServiceClient client = new EagleServiceClientImpl( eagleServiceConfig.eagleServiceHost, eagleServiceConfig.eagleServicePort, eagleServiceConfig.username, eagleServiceConfig.password)) { client.setReadTimeout(eagleServiceConfig.readTimeoutSeconds * 1000); LOG.info("start to flush spark app entities, size {}", entities.size()); client.create(entities); LOG.info("finish flushing spark app entities, size {}", entities.size()); entities.clear(); } catch (Exception e) { LOG.warn("exception found when flush entities, {}", e); e.printStackTrace(); return false; } return true; } }
public GenericServiceAPIResponseEntity<String> send() throws EagleServiceClientException, IOException { if(this.deleteIds!=null){ return client.deleteById(this.deleteIds,this.serviceName); }else { return client.delete(this.request); } } }
@Override public void cleanup() { try { this.client.getJerseyClient().destroy(); this.client.close(); } catch (IOException e) { LOG.error("Close client error: {}", e.getMessage(), e); } finally { super.cleanup(); } }
private List<HiveResourceSensitivityAPIEntity> load(JobDataMap jobDataMap) throws Exception { Map<String, Object> map = (Map<String,Object>)jobDataMap.get(EagleConfigConstants.EAGLE_SERVICE); String eagleServiceHost = (String)map.get(EagleConfigConstants.HOST); Integer eagleServicePort = Integer.parseInt(map.get(EagleConfigConstants.PORT).toString()); String username = map.containsKey(EagleConfigConstants.USERNAME) ? (String)map.get(EagleConfigConstants.USERNAME) : null; String password = map.containsKey(EagleConfigConstants.PASSWORD) ? (String)map.get(EagleConfigConstants.PASSWORD) : null; // load from eagle database LOG.info("Load hive resource sensitivity information from eagle service " + eagleServiceHost + ":" + eagleServicePort); IEagleServiceClient client = new EagleServiceClientImpl(eagleServiceHost, eagleServicePort, username, password); String query = "HiveResourceSensitivityService[]{*}"; GenericServiceAPIResponseEntity<HiveResourceSensitivityAPIEntity> response = client.search().pageSize(Integer.MAX_VALUE).query(query).send(); client.close(); if (response.getException() != null) throw new IllegalStateException(response.getException()); return response.getObj(); } }
client.setReadTimeout(eagleServiceConfig.readTimeoutSeconds * 1000); try { LOG.info("start flushing entities of total number " + failureTasks.size()); client.create(failureTasks); LOG.info("finish flushing entities of total number " + failureTasks.size()); failureTasks.clear(); client.close();
config.getString(Constants.PASSWORD_PATH)); client.setReadTimeout(config.getInt(Constants.READ_TIMEOUT_PATH) * 1000); .search(query) .startTime(System.currentTimeMillis() - (timeLength + 1) * 24 * 60 * 60000L) .endTime(System.currentTimeMillis() - 24 * 60 * 60000L) } finally { try { client.close(); } catch (Exception e) { LOG.warn("{}", e);
@Override public GenericServiceAPIResponseEntity<String> call() throws Exception { return client.create(entities,serviceName); } });
client.create(entities); LOG.info("finish flushing entities of total number " + entities.size()); entities.clear(); client.getJerseyClient().destroy(); client.close(); metricEntities.clear();
GenericServiceAPIResponseEntity response = client.create(entities); assert response.isSuccess(); response = client.create(entities,GenericMetricEntity.class); assert response.isSuccess(); response = client.create(entities,GenericMetricEntity.GENERIC_METRIC_SERVICE); assert response.isSuccess(); client.metric("unit.test.metrics") .batch(5) .tags(tags) .flush(); GenericServiceAPIResponseEntity<GenericMetricEntity> metricResponse = client.search("GenericMetricService[@cluster=\"cluster4ut\" AND @datacenter = \"datacenter4ut\"]{*}") .startTime(0) .endTime(System.currentTimeMillis()+24 * 3600 * 1000) assert metricResponse.isSuccess(); GenericServiceAPIResponseEntity<Map> metricAggResponse = client.search("GenericMetricService[@cluster=\"cluster4ut\" AND @datacenter = \"datacenter4ut\"]<@cluster>{sum(value)}") .startTime(0) .endTime(System.currentTimeMillis()+24 * 3600 * 1000) Assert.assertTrue(metricAggResponse.isSuccess()); Assert.assertTrue(aggResult.size() > 0); client.close();
@Override public void cleanup() { if (this.client != null) { try { this.client.close(); } catch (IOException e) { LOG.error(e.getMessage(), e); } } }
/** * Just compiling passed is ok */ //@Test @SuppressWarnings("unused") public void testCreate() throws IOException, EagleServiceClientException, IllegalAccessException, InstantiationException { EntityDefinition entityDefinition = EntityDefinitionManager.getEntityDefinitionByEntityClass(GenericMetricEntity.class); hbase.createTable(entityDefinition.getTable(), entityDefinition.getColumnFamily()); client = new EagleServiceClientImpl("localhost", EagleConfigFactory.load().getServicePort()); List<GenericMetricEntity> metricEntityList = new ArrayList<GenericMetricEntity>(); GenericServiceAPIResponseEntity<String> unTypedResponse = client.create(metricEntityList); GenericServiceAPIResponseEntity<String> weakTypedResponse = client.create(metricEntityList,GenericMetricEntity.GENERIC_METRIC_SERVICE); GenericServiceAPIResponseEntity<String> strongTypedResponse = client.create(metricEntityList,GenericMetricEntity.class); GenericServiceAPIResponseEntity<GenericMetricEntity> weakTypedSearchResponse = client.search("").send(); if(weakTypedSearchResponse!=null) { Class<GenericMetricEntity> typedClazz = weakTypedSearchResponse.getType(); List<GenericMetricEntity> typedEntities = weakTypedSearchResponse.getObj(); } }
public boolean flush() { //need flush right now if (entities.size() == 0) { return true; } IEagleServiceClient client = new EagleServiceClientImpl( eagleServiceConfig.eagleServiceHost, eagleServiceConfig.eagleServicePort, eagleServiceConfig.username, eagleServiceConfig.password); //client.getJerseyClient().setReadTimeout(eagleServiceConfig.readTimeoutSeconds * 1000); client.setReadTimeout(eagleServiceConfig.readTimeoutSeconds * 1000); try { return createEntities(client); } catch (Exception e) { LOG.warn("exception found when flush entities, {}", e); return false; } finally { try { client.close(); } catch (Exception e) { // ignored exception } } }
@Test public void testParallelSender() throws IOException, EagleServiceClientException, InterruptedException { // Case #1: ConcurrentSender concurrentSender = client .parallel(10) .batchSize(30) .batchInterval(1000); int num = 1000; for(int i=0; i< num;i++) { concurrentSender.send(Arrays.asList(newEntity())); } // Case #2: ConcurrentSender concurrentSender2 = client .parallel(10) .batchSize(20) .batchInterval(3); int num2 = 50; for(int i=0; i< num2;i++) { concurrentSender2.send(Arrays.asList(newEntity())); Thread.sleep(1); } client.close(); }
@Test public void testAsyncSender() throws IOException, EagleServiceClientException, ExecutionException, InterruptedException { EagleServiceAsyncClient asyncClient = client.async(); Future<GenericServiceAPIResponseEntity<String>> future1 = asyncClient.create(Arrays.asList(newEntity())); GenericServiceAPIResponseEntity<String> response1 = future1.get(); Assert.assertTrue(response1.isSuccess()); Future<GenericServiceAPIResponseEntity<String>> future2 = asyncClient.update(Arrays.asList(newEntity())); GenericServiceAPIResponseEntity<String> response2 = future2.get(); Assert.assertTrue(response2.isSuccess()); Future<GenericServiceAPIResponseEntity<String>> future3 = asyncClient.delete(Arrays.asList(newEntity())); GenericServiceAPIResponseEntity<String> response3 = future3.get(); Assert.assertTrue(response3.isSuccess()); client.close(); }
GenericServiceAPIResponseEntity response = client.update(entities); assert response.isSuccess(); response = client.update(entities, TestTimeSeriesAPIEntity.class); assert response.isSuccess(); response = client.update(entities, "TestTimeSeriesAPIEntity"); assert response.isSuccess(); response = client.search("TestTimeSeriesAPIEntity[]{*}") .startTime(0) .endTime(System.currentTimeMillis() + 25 * 3600 * 1000)
@Override public GenericServiceAPIResponseEntity<String> call() throws Exception { return client.delete(entities, serviceName); } });
@Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { this.client = new EagleServiceClientImpl(config); if (this.batchSize > 0) { this.batchSender = client.batch(this.batchSize); } this.collector = collector; }