Sanne Grinovero (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *created* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiMzk2ZWJjMmEw...
) / Task (
https://hibernate.atlassian.net/browse/HHH-16046?atlOrigin=eyJpIjoiMzk2ZW...
) HHH-16046 (
https://hibernate.atlassian.net/browse/HHH-16046?atlOrigin=eyJpIjoiMzk2ZW...
) EventListenerGroupImpl to expose changes to registered listeners in a memory safe way (
https://hibernate.atlassian.net/browse/HHH-16046?atlOrigin=eyJpIjoiMzk2ZW...
)
Issue Type: Task Assignee: Sanne Grinovero (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) Components: hibernate-core Created: 14/Jan/2023 15:08 PM Fix Versions: 6.2.0 Labels:
memorysafety performance Priority: Major Reporter: Sanne Grinovero (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
It turns out EventListenerGroupImpl allows to dynamically change the registered listeners
at runtime, but when doing so it’s not using adequate memory barriers to ensure such
changes are consistently applied across all threads.
I’ll fix the memory requirements and, while at it, avoid for method listeners() to
allocate a new List at each use; this method was deprecated but it appears it’s still
being used in varies event processors, which is showing as a performance issue.
As 6.2 is nearly ready I’ve refrained from a more consistent refactoring, proposing a plan
for further actions here:
https://github.com/hibernate/hibernate-orm/discussions/5956 (
https://github.com/hibernate/hibernate-orm/discussions/5956 )
(
https://hibernate.atlassian.net/browse/HHH-16046#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-16046#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100214- sha1:b03f6a4 )