mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-06 22:04:16 +00:00
fix(analytics): fix NPE in aggregate api (#4095)
This commit is contained in:
parent
f944a9ba05
commit
beab5ac977
@ -56,6 +56,7 @@ public class ESAggregatedStatsDAO {
|
|||||||
private static final String ES_TERMS_AGGREGATION_PREFIX = "terms_";
|
private static final String ES_TERMS_AGGREGATION_PREFIX = "terms_";
|
||||||
private static final String ES_MAX_AGGREGATION_PREFIX = "max_";
|
private static final String ES_MAX_AGGREGATION_PREFIX = "max_";
|
||||||
private static final String ES_FIELD_TIMESTAMP = "timestampMillis";
|
private static final String ES_FIELD_TIMESTAMP = "timestampMillis";
|
||||||
|
private static final String ES_FIELD_URN = "urn";
|
||||||
private static final String ES_AGG_TIMESTAMP = ES_AGGREGATION_PREFIX + ES_FIELD_TIMESTAMP;
|
private static final String ES_AGG_TIMESTAMP = ES_AGGREGATION_PREFIX + ES_FIELD_TIMESTAMP;
|
||||||
private static final String ES_AGG_MAX_TIMESTAMP =
|
private static final String ES_AGG_MAX_TIMESTAMP =
|
||||||
ES_AGGREGATION_PREFIX + ES_MAX_AGGREGATION_PREFIX + ES_FIELD_TIMESTAMP;
|
ES_AGGREGATION_PREFIX + ES_MAX_AGGREGATION_PREFIX + ES_FIELD_TIMESTAMP;
|
||||||
@ -172,11 +173,13 @@ public class ESAggregatedStatsDAO {
|
|||||||
if (fieldPath.equals(ES_FIELD_TIMESTAMP)) {
|
if (fieldPath.equals(ES_FIELD_TIMESTAMP)) {
|
||||||
return DataSchema.Type.LONG;
|
return DataSchema.Type.LONG;
|
||||||
}
|
}
|
||||||
/* TODO: Remove if not needed after merge.
|
if (fieldPath.equals(ES_FIELD_URN)) {
|
||||||
|
return DataSchema.Type.STRING;
|
||||||
|
}
|
||||||
if (fieldPath.equals(MappingsBuilder.EVENT_GRANULARITY)) {
|
if (fieldPath.equals(MappingsBuilder.EVENT_GRANULARITY)) {
|
||||||
return DataSchema.Type.RECORD;
|
return DataSchema.Type.RECORD;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
String[] memberParts = fieldPath.split("\\.");
|
String[] memberParts = fieldPath.split("\\.");
|
||||||
if (memberParts.length == 1) {
|
if (memberParts.length == 1) {
|
||||||
// Search in the timeseriesFieldSpecs.
|
// Search in the timeseriesFieldSpecs.
|
||||||
@ -439,18 +442,6 @@ public class ESAggregatedStatsDAO {
|
|||||||
return lastAggregationBuilder;
|
return lastAggregationBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isIntegralType(DataSchema.Type fieldType) {
|
|
||||||
switch (fieldType) {
|
|
||||||
case INT:
|
|
||||||
case FLOAT:
|
|
||||||
case DOUBLE:
|
|
||||||
case LONG:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private GenericTable generateResponseFromElastic(SearchResponse searchResponse, GroupingBucket[] groupingBuckets,
|
private GenericTable generateResponseFromElastic(SearchResponse searchResponse, GroupingBucket[] groupingBuckets,
|
||||||
AggregationSpec[] aggregationSpecs, AspectSpec aspectSpec) {
|
AggregationSpec[] aggregationSpecs, AspectSpec aspectSpec) {
|
||||||
GenericTable resultTable = new GenericTable();
|
GenericTable resultTable = new GenericTable();
|
||||||
|
|||||||
@ -53,8 +53,12 @@ public class Analytics extends SimpleResourceTemplate<GetTimeseriesAggregatedSta
|
|||||||
resp.setEntityName(entityName);
|
resp.setEntityName(entityName);
|
||||||
resp.setAspectName(aspectName);
|
resp.setAspectName(aspectName);
|
||||||
resp.setAggregationSpecs(new AggregationSpecArray(Arrays.asList(aggregationSpecs)));
|
resp.setAggregationSpecs(new AggregationSpecArray(Arrays.asList(aggregationSpecs)));
|
||||||
resp.setFilter(filter);
|
if (filter != null) {
|
||||||
resp.setGroupingBuckets(new GroupingBucketArray(Arrays.asList(groupingBuckets)));
|
resp.setFilter(filter);
|
||||||
|
}
|
||||||
|
if (groupingBuckets != null) {
|
||||||
|
resp.setGroupingBuckets(new GroupingBucketArray(Arrays.asList(groupingBuckets)));
|
||||||
|
}
|
||||||
|
|
||||||
GenericTable aggregatedStatsTable =
|
GenericTable aggregatedStatsTable =
|
||||||
_timeseriesAspectService.getAggregatedStats(entityName, aspectName, aggregationSpecs, filter,
|
_timeseriesAspectService.getAggregatedStats(entityName, aspectName, aggregationSpecs, filter,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user