diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/LineageRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/LineageRepository.java index c688725e7063..4cd6e22fb023 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/LineageRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/LineageRepository.java @@ -452,22 +452,24 @@ public static void addPipelineDetails(EsLineageData lineageData, EntityReference if (nullOrEmpty(pipelineRef)) { lineageData.setPipeline(null); } else { - Pair> pipelineOrStoredProcedure = - getPipelineOrStoredProcedure( - pipelineRef, List.of("changeDescription", "incrementalChangeDescription")); - lineageData.setPipelineEntityType(pipelineOrStoredProcedure.getLeft()); - lineageData.setPipeline(pipelineOrStoredProcedure.getRight()); + try { + Pair> pipelineOrStoredProcedure = + getPipelineOrStoredProcedure( + pipelineRef, List.of("changeDescription", "incrementalChangeDescription")); + lineageData.setPipelineEntityType(pipelineOrStoredProcedure.getLeft()); + lineageData.setPipeline(pipelineOrStoredProcedure.getRight()); + } catch (Exception ex) { + LOG.warn("Failed to get pipeline details for elastic search mapping", ex); + lineageData.setPipelineEntityType(pipelineRef.getType()); + lineageData.setPipeline(JsonUtils.getMap(pipelineRef)); + } + } } - } - public static Pair> getPipelineOrStoredProcedure( - EntityReference pipelineRef, List fieldsToRemove) { - Map pipelineMap; - if (pipelineRef.getType().equals(PIPELINE)) { - pipelineMap = - JsonUtils.getMap( - Entity.getEntity(pipelineRef, "pipelineStatus,tags,owners", Include.ALL)); - } else { + public static Pair> getPipelineOrStoredProcedure( + EntityReference pipelineRef, List fieldsToRemove) { + Map pipelineMap; + if (pipelineRef.getType().equalsIgnoreCase(Entity.PIPELINE)) { pipelineMap = JsonUtils.getMap(Entity.getEntity(pipelineRef, "tags,owners", Include.ALL)); } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.test.tsx index 88fdbb3d2b99..629a308acd5e 100644 Binary files a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.test.tsx and b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.test.tsx differ diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.tsx index e86eb076ad33..bb1b207d81a3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityLineage/AppPipelineModel/AddPipeLineModal.tsx @@ -75,12 +75,13 @@ const AddPipeLineModal = ({ pageSize: PAGE_SIZE, searchIndex: [SearchIndex.PIPELINE, SearchIndex.STORED_PROCEDURE], }); - const edgeOptions = data.hits.hits.map((hit) => - getEntityReferenceFromEntity( + const edgeOptions = data.hits.hits.map((hit) => { + const entityType = hit._source.entityType || (hit._index.includes('pipeline') ? EntityType.PIPELINE : EntityType.STORED_PROCEDURE); + return getEntityReferenceFromEntity( hit._source, - hit._source.entityType as EntityType - ) - ); + entityType as EntityType + ); + }); setEdgeOptions(edgeOptions); } catch (error) {