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

Change how object counts are updated in the class hierarchy graph to avoid lock contention [DATAGRAPH-13] #579

Closed
spring-projects-issues opened this issue Dec 9, 2010 · 1 comment
Labels
in: core Issues in core support type: enhancement A general enhancement
Milestone

Comments

@spring-projects-issues
Copy link

David Montag opened DATAGRAPH-13 and commented

Currently, when an entity is created, object counts are updated in the class hierarchy graph. When getting the count, one simply gets the number off the class node in question. Doing it this way however ends up creating a bottleneck for object creation, specifically with the most contention on the class node for Object, as that ends up getting locked for every object creation to update the count.

An alternative would be to just update the count on the one specific class node instead (and not all the way up to Object), and then have Finder.count() sum the whole tree for the class in question. Will have to be looked into at some point


Affects: 1.0 M3

@spring-projects-issues
Copy link
Author

David Montag commented

The SubReferenceNodeTypeStrategy causing the contention has been replaced with an IndexingNodeTypeStrategy. Graphs created with SubReferenceNodeTypeStrategy will still continue to use it

@spring-projects-issues spring-projects-issues added type: enhancement A general enhancement in: core Issues in core support labels Dec 31, 2020
@spring-projects-issues spring-projects-issues added this to the 1.0 M5 milestone Dec 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: core Issues in core support type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

1 participant