[Fix-21275] Service pipeline lineage not appearing (#21664)

* Fix Pipeline Service Lineage

* Unique Id issue

(cherry picked from commit b8cb82c25c10b8d3f1926223e1b1fbf1a4afd560)
This commit is contained in:
Mohit Yadav 2025-06-10 17:57:57 +05:30 committed by mohitdeuex
parent 65a16945c4
commit 283ef09f0e
2 changed files with 9 additions and 15 deletions

View File

@ -216,7 +216,7 @@ public class LineageRepository {
// Add Service Level Lineage
EntityReference fromService = fromEntity.getService();
EntityReference toService = toEntity.getService();
if (Boolean.FALSE.equals(fromService.getId().equals(toService.getId()))) {
if (!fromService.getId().equals(toService.getId())) {
LineageDetails serviceLineageDetails =
getOrCreateLineageDetails(
fromService.getId(), toService.getId(), entityLineageDetails, childRelationExists);
@ -300,7 +300,8 @@ public class LineageRepository {
if (existingRelation != null) {
LineageDetails lineageDetails =
JsonUtils.readValue(existingRelation.getJson(), LineageDetails.class);
JsonUtils.readValue(existingRelation.getJson(), LineageDetails.class)
.withPipeline(entityLineageDetails.getPipeline());
if (!childRelationExists) {
lineageDetails.withAssetEdges(lineageDetails.getAssetEdges() + 1);
}
@ -313,6 +314,7 @@ public class LineageRepository {
.withUpdatedAt(entityLineageDetails.getUpdatedAt())
.withUpdatedBy(entityLineageDetails.getUpdatedBy())
.withSource(LineageDetails.Source.CHILD_ASSETS)
.withPipeline(entityLineageDetails.getPipeline())
.withAssetEdges(1);
}
@ -372,7 +374,7 @@ public class LineageRepository {
EsLineageData lineageData =
new EsLineageData()
.withDocId(getDocumentIdWithFqn(fromEntity, toEntity, lineageDetails))
.withDocUniqueId(getDocumentUniqueId(fromEntity, toEntity, lineageDetails))
.withDocUniqueId(getDocumentUniqueId(fromEntity, toEntity))
.withFromEntity(buildEntityRefLineage(fromEntity));
if (lineageDetails != null) {
// Add Pipeline Details
@ -406,16 +408,8 @@ public class LineageRepository {
}
}
public static String getDocumentUniqueId(
EntityReference fromEntity, EntityReference toEntity, LineageDetails lineageDetails) {
if (lineageDetails != null && !nullOrEmpty(lineageDetails.getPipeline())) {
EntityReference ref = lineageDetails.getPipeline();
return String.format(
"%s--->%s:%s--->%s",
fromEntity.getId(), ref.getType(), ref.getId().toString(), toEntity.getId().toString());
} else {
return String.format("%s--->%s", fromEntity.getId().toString(), toEntity.getId().toString());
}
public static String getDocumentUniqueId(EntityReference fromEntity, EntityReference toEntity) {
return String.format("%s--->%s", fromEntity.getId().toString(), toEntity.getId().toString());
}
public static void addPipelineDetails(EsLineageData lineageData, EntityReference pipelineRef) {
@ -1084,7 +1078,7 @@ public class LineageRepository {
private void deleteLineageFromSearch(
EntityReference fromEntity, EntityReference toEntity, LineageDetails lineageDetails) {
String uniqueValue = getDocumentUniqueId(fromEntity, toEntity, lineageDetails);
String uniqueValue = getDocumentUniqueId(fromEntity, toEntity);
searchClient.updateChildren(
GLOBAL_SEARCH_ALIAS,
new ImmutablePair<>("upstreamLineage.docUniqueId.keyword", uniqueValue),

View File

@ -115,7 +115,7 @@ public class LineageUtil {
private static void deleteLineageFromSearch(
EntityReference fromEntity, EntityReference toEntity, LineageDetails lineageDetails) {
String uniqueValue = getDocumentUniqueId(fromEntity, toEntity, lineageDetails);
String uniqueValue = getDocumentUniqueId(fromEntity, toEntity);
Entity.getSearchRepository()
.getSearchClient()
.updateChildren(