Fix Add Derived Tags while batch fetching (#20716)

This commit is contained in:
Mohit Yadav 2025-04-09 11:35:59 +05:30 committed by GitHub
parent 0d3f747a1d
commit ec5c83441a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 4 deletions

View File

@ -4156,7 +4156,11 @@ public abstract class EntityRepository<T extends EntityInterface> {
if (targetFQN != null) {
TagLabel tagLabel = tagFQNLabelMap.get(tagWithHash.getTagFQN());
tagsMap.computeIfAbsent(targetFQN, k -> new ArrayList<>()).add(tagLabel);
if (tagLabel != null) {
tagsMap.computeIfAbsent(targetFQN, k -> new ArrayList<>()).add(tagLabel);
} else {
LOG.warn("Missing TagLabel for TagFQN in batch Fetch Tags: {}", tagWithHash.getTagFQN());
}
}
}

View File

@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors;
@ -105,14 +106,18 @@ public class TagLabelUtil {
return tagLabels;
}
// Filter out all the derived tags
List<TagLabel> filteredTags =
tagLabels.stream().filter(tag -> tag.getLabelType() != TagLabel.LabelType.DERIVED).toList();
tagLabels.stream()
.filter(Objects::nonNull)
.filter(tag -> tag.getLabelType() != TagLabel.LabelType.DERIVED)
.toList();
List<TagLabel> updatedTagLabels = new ArrayList<>();
EntityUtil.mergeTags(updatedTagLabels, filteredTags);
for (TagLabel tagLabel : tagLabels) {
EntityUtil.mergeTags(updatedTagLabels, getDerivedTags(tagLabel));
if (tagLabel != null) {
EntityUtil.mergeTags(updatedTagLabels, getDerivedTags(tagLabel));
}
}
updatedTagLabels.sort(compareTagLabel);
return updatedTagLabels;