This is an automated email from the ASF dual-hosted git repository.

eladkal pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 57c6a4bfdc Check that the dataset<>task exists before trying to render 
graph (#39069)
57c6a4bfdc is described below

commit 57c6a4bfdcee03ac11d7e1aff167a91453acceb8
Author: Brent Bovenzi <[email protected]>
AuthorDate: Tue Apr 16 21:54:30 2024 -0400

    Check that the dataset<>task exists before trying to render graph (#39069)
---
 airflow/www/static/js/dag/details/graph/index.tsx | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/airflow/www/static/js/dag/details/graph/index.tsx 
b/airflow/www/static/js/dag/details/graph/index.tsx
index d7445f189a..e86801f28f 100644
--- a/airflow/www/static/js/dag/details/graph/index.tsx
+++ b/airflow/www/static/js/dag/details/graph/index.tsx
@@ -34,7 +34,7 @@ import { BiCollapse, BiExpand } from "react-icons/bi";
 
 import { useDatasets, useGraphData, useGridData } from "src/api";
 import useSelection from "src/dag/useSelection";
-import { getMetaValue, useOffsetTop } from "src/utils";
+import { getMetaValue, getTask, useOffsetTop } from "src/utils";
 import { useGraphLayout } from "src/utils/graph";
 import Edge from "src/components/Graph/Edge";
 import type { DepNode, WebserverEdge } from "src/types";
@@ -68,6 +68,10 @@ const Graph = ({
   const [hasRendered, setHasRendered] = useState(false);
   const [isZoomedOut, setIsZoomedOut] = useState(false);
 
+  const {
+    data: { dagRuns, groups },
+  } = useGridData();
+
   useEffect(() => {
     setArrange(data?.arrange || "LR");
   }, [data?.arrange]);
@@ -104,7 +108,11 @@ const Graph = ({
     );
     const consumingDag = dataset?.consumingDags?.find((d) => d.dagId === 
dagId);
     if (dataset.id) {
-      if (producingTask?.taskId) {
+      // check that the task is in the graph
+      if (
+        producingTask?.taskId &&
+        getTask({ taskId: producingTask?.taskId, task: groups })
+      ) {
         datasetEdges.push({
           sourceId: producingTask.taskId,
           targetId: dataset.id.toString(),
@@ -130,9 +138,6 @@ const Graph = ({
 
   const { selected } = useSelection();
 
-  const {
-    data: { dagRuns, groups },
-  } = useGridData();
   const { colors } = useTheme();
   const { getZoom, fitView } = useReactFlow();
   const latestDagRunId = dagRuns[dagRuns.length - 1]?.runId;

Reply via email to