-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make the client render node types, etc. on large networks #215
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for multinet-client ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
Do you have an example of a memory blowup? I'd like to explore an Arango EXPLAIN statement before we make this change. Also, could you summarize your new approach here? It seems like maybe it shows max 10 nodes from one of the tables represented in the network? |
f1df322
to
cb0ae18
Compare
Sorry for the long wait for a reply. Here's what's happening:
That means that we generate a query that looks like:
The union causes a collection scan over all the tables, which is super slow and causes a memory blow up. Here's the explain statement:
Yes, the approach here is to use a different route, |
Does this PR close any open issues?
No
Give a longer description of what this PR addresses and why it's needed
The client was hitting a limit in python-arango when trying to use the multinetjs functions
api.nodes
andapi.edges
. The code for that triggers aUNION
in the API, which blows up memory usage. To get around those limitations, I switched the API routes used here to use ones that don't require aUNION
.I think that the solution for the
nodes
panel in the bottom right is ugly and we could do something else. I wasn't sure what to do, so I left that for discussion.Provide pictures/videos of the behavior before and after these changes (optional)
Old:
New:
Are there any additional TODOs before this PR is ready to go?
TODOs: