-
Notifications
You must be signed in to change notification settings - Fork 176
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
Cyclic detach bug is still present #2368
Comments
Hi Community, @rfelcman
Unfortunately i cannot build the whole eclipselink repo with tests. Something is wrong with bundles/tests project, even if use the profile jdk11+. pax.exam cannot be transfered via https as i understand. I've excluded the bundles/tests project from tests. However, this change doesn't help at all and even reduces performance even more, if the entities aren't implemented correctly. If the entities implement hashCode(), the change helps a lot. I changed the test in the following manner:
jpa-bug-1577-StackOverflowErrorBecauseOfCyclicDETACH.tar.gz And compared to already described test results: ----Patched version of 4.0.5 of eclipse.persistence.core , 500 group items---- ----Patched version of 4.0.5 of eclipse.persistence.core ,10k group items (before the patch 1k didn't work)---- ----Patched version of 4.0.5 of eclipse.persistence.core ,100k group items (before the patch 1k didn't work)---- ----Reverted version of eclipse.persistence.core ,100k group items---- Kind Regards. |
Hi Community,
we have still the same problem, as described here:
#1577
For the issue a bug fix was provided here:
#2037
Thank you very much! However, if bigger datasets are used, stack overflow exception is thrown.
Our environment:
I've experimentally reverted:
This reverts commit 8e9cb33.
This reverts commit b8a573d.
And the big datasets are processed without problems in our case.
Since i was asked by Mr. Felcman to be more specific about "bigger datasets" and data constellation which causes the error, i took already provided code for the issue 1577
jpa-bug-1577-StackOverflowErrorBecauseOfCyclicDETACH.tar.gz
and tried to modify it, so the error can be reproduced.
jpa-bug-1577-StackOverflowErrorBecauseOfCyclicDETACH.tar.gz
In the class
com.oracle.jpa.bugtest.TestBug
there is a
private static final long NUMBER_OF_GROUP_ITEMS
which is set to 1000. In this case the bug is already reproducible. If set to 500 the stack overflow exception isn't thrown and the test is successful.
Note: The reverted version can deal with 100k group items without any problems.
What i also realized is that the current implementation can cause performance problems, even if set to 500:
----Reverted version of eclipse.persistence.core, 500 group items----
Started Insert data
Finished Insert data 0.192 seconds
Started Commit
Finished Commit 0.586 seconds
Started detaching group
Finished detaching group 0.001 seconds
Started detaching groupitems
Finished detaching groupitems 0.052000000000000005 seconds
Started Commit
Finished Commit 0.0 seconds
----Original version (4.0.5) of eclipse.persistence.core , 500 group items----
Started Insert data
Finished Insert data 0.187 seconds
Started Commit
Finished Commit 0.684 seconds
Started detaching group
Finished detaching group 0.17500000000000002 seconds
Started detaching groupitems
Finished detaching groupitems 38.107 seconds
Started Commit
Finished Commit 0.004 seconds
I hope this helps.
Kind Regards
The text was updated successfully, but these errors were encountered: