-
-
Notifications
You must be signed in to change notification settings - Fork 66
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
SQL: Out-of-memory when CREATE EDGE ... IF NOT EXISTS
for existing edges with array of destination vertices
#1763
Comments
That's pretty awful, I'll look it up asap. |
Some more details and a more reduced test case:
BTW: Using |
I was able to reproduce the problem on my side. Stay tuned |
- add specific test for issue on CreateEdgeStatementExecutionTest - fix CreateEdgeExecutionPlanner
Reworked and merged. Closing. |
@robfrank I am testing the latest head with the fix. The OOM is gone, but it seems the
|
It returns the existing ones . Underneath is very hard to skip the existing ones, so we took the decision to return new created edges with previous in the same result set |
I will test again, but in the graph view it looked like each |
do you mean, via studio? |
Yes. I tested the changes manually in studio with the example above. Everytime I call |
Let me talk with @lvca to find a proper solution. If you query the database, you should find the right amount of edges, this is what happens in the unit tests. The best solution would be to return only the newly created edges, but it is very tricky to implement that. |
IMHO the problem is not what is getting returned, but what is created: There should not be any new edges created if edges between the vertices already exists. Sorry if I misunderstand you. |
@robfrank The latest changes fixed the problem. Great! Thanks |
ArcadeDB Version:
ArcadeDB Server v24.11.1-SNAPSHOT (build 4207821d055e37cbd74b76683e45073da759c2de/1729083296142/console)
OS and JDK Version:
Running on Mac OS X 12.7.6 - OpenJDK 64-Bit Server VM 17.0.12 (Homebrew)
When creating edges that already exists with the suffix
IF NOT EXISTS
and the destinition (TO
part) is an array, then an out-of-memory error happens after some time.Expected behavior
No out-of-memory (OOM) error.
Actual behavior
or:
Steps to reproduce
IF NOT EXISTS
This last statement causes the OOM error.
The text was updated successfully, but these errors were encountered: