Anyone knows why dependency arrows are not visible...
# ask-community
m
Anyone knows why dependency arrows are not visible even though they should? This is the latest version Prefect, running locally (not Prefect cloud).
@Marvin?
m
Hello! It looks like you might have a question or need some help. Whether you're curious about Prefect, data engineering, or something else, feel free to ask. I promise not to start singing about my brain the size of a planet... too much.
m
@Marvin Anyone knows why dependency arrows are not visible even though they should? This is the latest version Prefect, running locally (not Prefect cloud).
m
It seems there was a slight hiccup in fetching the exact details from the sources, but don't worry, I'm here to help get to the bottom of it. When dependency arrows aren't visible in the latest version of Prefect running locally, there might be a few things worth checking: 1. Flow Dependency Visualization: Ensure that the tool or library you're using for visualization supports displaying dependencies. Sometimes, local environments might need additional configurations. 2. Graph Rendering Issues: The rendering of graphs can sometimes be hindered by the environment or package dependencies. Make sure all required visualization libraries are installed and updated. 3. Check for Updates or Known Issues: Occasionally, updates can introduce unexpected behavior. It might be helpful to check Prefect's release notes or GitHub repository for any known issues or updates related to graph visualization. Since I couldn't directly fetch the specific documentation or existing issues, I'd recommend visiting the Prefect documentation or Prefect GitHub Repository to see if there are any mentions related to this visualization issue specifically. If you keep running into this issue, let me know, and I can help strategize further on how to resolve it!
r
We ran into this too. IIRC it has to do with data from the worker not making it to the server. In prefect 3.x they changed the method that communication uses, and it can't traverse proxies (or something like that, been a while). The other reason is the tasks aren't passing data between then so prefect can't auto-detect the deps. You can manually create the graph using submit, futures, and wait.
n
hi @Rob Rati - I think @Mohamed Haggag might be referring to something else two important points • in prefect 3.x, we use websockets to emit data from tasks so the UI can render the graph. some network configs block websocket traffic, you can read more about this here • certain values (like bare
int
instances or
None
) are untraceable (were also untraceable in 2.x) because they are singletons which means that if you have an upstream task that returns
5
and the downstream accepts it (and thats the only data you pass) then you wont see the dependency arrow
those are both sort of abstract points, but if you have an example you'd like me to take a look at, feel free to share here
m
@Nate After some experiments I noticed that arrows are visible only when passing data between tasks, but not subflows. Is this an intentional behavior? It kind of forces me to use subtasks instead of subflows just to be able to visualize what's going on.