Skip to content

Commit 2ec9f99

Browse files
fix: log and skip if entity can't be joined (#95)
1 parent 0f60667 commit 2ec9f99

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import lombok.AllArgsConstructor;
3333
import lombok.Value;
3434
import lombok.experimental.Accessors;
35+
import lombok.extern.slf4j.Slf4j;
3536
import org.hypertrace.core.graphql.common.request.AttributeAssociation;
3637
import org.hypertrace.core.graphql.common.request.AttributeRequest;
3738
import org.hypertrace.core.graphql.common.request.FilterRequestBuilder;
@@ -58,6 +59,7 @@
5859
import org.hypertrace.graphql.metric.request.MetricRequest;
5960
import org.hypertrace.graphql.metric.schema.argument.AggregatableOrderArgument;
6061

62+
@Slf4j
6163
class DefaultEntityJoinerBuilder implements EntityJoinerBuilder {
6264

6365
private static final int ZERO_OFFSET = 0;
@@ -164,6 +166,18 @@ private <T> Collection<Cell<T, String, Entity>> buildResultCellsForSource(
164166
Map<String, String> requestedIdsByType,
165167
Table<String, String, Entity> entityResultTable) {
166168
return requestedIdsByType.entrySet().stream()
169+
.filter(
170+
typeIdPair -> {
171+
if (!entityResultTable.contains(typeIdPair.getKey(), typeIdPair.getValue())) {
172+
log.error(
173+
"Requested Entity not present in response. Type: {}, ID: {}, Source {}",
174+
typeIdPair.getKey(),
175+
typeIdPair.getValue(),
176+
joinSource);
177+
return false;
178+
}
179+
return true;
180+
})
167181
.map(
168182
typeIdPair ->
169183
immutableCell(

0 commit comments

Comments
 (0)