提交 91c03289 编写于 作者: P pengys5

service tree merge error

上级 122ff6d4
......@@ -18,13 +18,14 @@ public abstract class StorageInstaller {
try {
List<TableDefine> tableDefines = defineLoader.load();
defineFilter(tableDefines);
Boolean debug = System.getProperty("debug") != null;
for (TableDefine tableDefine : tableDefines) {
tableDefine.initialize();
if (!isExists(client, tableDefine)) {
logger.info("table: {} not exists", tableDefine.getName());
createTable(client, tableDefine);
} else {
} else if (debug) {
logger.info("table: {} exists", tableDefine.getName());
deleteTable(client, tableDefine);
createTable(client, tableDefine);
......
......@@ -110,13 +110,15 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO
.subAggregation(AggregationBuilders.sum(ServiceReferenceTable.COLUMN_SUMMARY).field(ServiceReferenceTable.COLUMN_SUMMARY))
.subAggregation(AggregationBuilders.sum(ServiceReferenceTable.COLUMN_COST_SUMMARY).field(ServiceReferenceTable.COLUMN_COST_SUMMARY))));
Map<String, JsonObject> serviceReferenceMap = new LinkedHashMap<>();
JsonArray serviceReferenceArray = new JsonArray();
SearchResponse searchResponse = searchRequestBuilder.get();
Terms frontServiceIdTerms = searchResponse.getAggregations().get(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID);
for (Terms.Bucket frontServiceBucket : frontServiceIdTerms.getBuckets()) {
int frontServiceId = frontServiceBucket.getKeyAsNumber().intValue();
if (frontServiceId != 0) {
parseSubAggregate(serviceReferenceArray, frontServiceBucket, frontServiceId);
parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId);
}
}
......@@ -126,16 +128,17 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO
if (StringUtils.isNotEmpty(frontServiceName)) {
String[] serviceNames = frontServiceName.split(Const.ID_SPLIT);
int frontServiceId = ServiceIdCache.getForUI(Integer.parseInt(serviceNames[0]), serviceNames[1]);
parseSubAggregate(serviceReferenceArray, frontServiceBucket, frontServiceId);
parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId);
}
}
serviceReferenceMap.values().forEach(serviceReferenceArray::add);
return serviceReferenceArray;
}
private void parseSubAggregate(JsonArray serviceReferenceArray, Terms.Bucket frontServiceBucket,
private void parseSubAggregate(Map<String, JsonObject> serviceReferenceMap, JsonArray serviceReferenceArray,
Terms.Bucket frontServiceBucket,
int frontServiceId) {
Map<String, JsonObject> serviceReferenceMap = new LinkedHashMap<>();
Terms behindServiceIdTerms = frontServiceBucket.getAggregations().get(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID);
for (Terms.Bucket behindServiceIdBucket : behindServiceIdTerms.getBuckets()) {
int behindServiceId = behindServiceIdBucket.getKeyAsNumber().intValue();
......@@ -205,8 +208,6 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO
merge(serviceReferenceMap, serviceReference);
}
}
serviceReferenceMap.values().forEach(serviceReferenceArray::add);
}
private void merge(Map<String, JsonObject> serviceReferenceMap, JsonObject serviceReference) {
......
......@@ -28,18 +28,16 @@ public class AllInstanceLastTimeGetHandler extends JettyHandler {
Long timeBucket = service.allInstanceLastTime();
logger.debug("all instance last time: {}", timeBucket);
long instanceTimeBucket;
if (timeBucket == 0) {
instanceTimeBucket = 0;
} else {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(TimeBucketUtils.INSTANCE.changeTimeBucket2TimeStamp(TimeBucketUtils.TimeBucketType.SECOND.name(), timeBucket));
calendar.add(Calendar.SECOND, -5);
instanceTimeBucket = calendar.getTimeInMillis();
timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(System.currentTimeMillis());
}
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(TimeBucketUtils.INSTANCE.changeTimeBucket2TimeStamp(TimeBucketUtils.TimeBucketType.SECOND.name(), timeBucket));
calendar.add(Calendar.SECOND, -5);
timeBucket = calendar.getTimeInMillis();
JsonObject timeJson = new JsonObject();
timeJson.addProperty("timeBucket", TimeBucketUtils.INSTANCE.getSecondTimeBucket(instanceTimeBucket));
timeJson.addProperty("timeBucket", TimeBucketUtils.INSTANCE.getSecondTimeBucket(timeBucket));
return timeJson;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册