Skip to content
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

Adding embedded property with depth >20 causes OrientDB to become unresponsive #10328

Open
pa-ryanknight opened this issue Oct 4, 2024 · 0 comments
Labels
Milestone

Comments

@pa-ryanknight
Copy link

pa-ryanknight commented Oct 4, 2024

OrientDB Version: 3.2.32

Java Version: openjdk 11.0.16 2022-07-19

OS: Ubuntu 24.04.1 LTS

Expected behavior

Updating a vertex to add an embedded property or insert a vertex with an embedded property at a depth higher than OrientDB can handle should return an error or be handled gracefully.
Ability to set a max depth of embedded properties.

Actual behavior

OrientDB does not release the connection and causes high CPU usage. Enough subsequent inserts eventually cause the database to become unresponsive.

Steps to reproduce

On any database run the following:
INSERT INTO V SET brokenembedded = {"@type":"d","1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"10":{"11":{"12":{"13":{"14":{"15":{"16":{"17":{"18":{"19":{"20":{"21":{"22":{"23":{"24":{"25":{}}}}}}}}}}}}}}}}}}}}}}}}}}
or
UPDATE #10:0 SET brokenembedded = {"@type":"d","1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"10":{"11":{"12":{"13":{"14":{"15":{"16":{"17":{"18":{"19":{"20":{"21":{"22":{"23":{"24":{"25":{}}}}}}}}}}}}}}}}}}}}}}}}}}
This will result in high database usage and the database does not release.

EDIT: It appears that the operation does eventually complete after a long time with the commands above (>10 minutes) and the time increases exponentially per level of depth. When inserting larger objects than above (with a depth of 20) on larger databases, the commands do not seem to finish and do not give any feedback.

@tglman tglman added the bug label Oct 5, 2024
@tglman tglman added this to the 3.2.x milestone Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants