We’ve recently become aware of JDK’s limitation https://bugs.openjdk.org/browse/JDK-8180450 and an investigation via https://github.com/franz1981/type-pollution-agent/ revealed that Hibernate ORM is affected via various paths. One of the most significant areas of concern surrounds the techniques used to handle bytecode enhanced entities; the agent reports the following:
Source code matches Hibernate ORM version 5.6.12.Final - and while the agent is prone to reporting false positives, we believe this is not the case. This issue has - surprisingly - eluded performance diagnostic tools so far, and yet has very significant impact on performance; scalability is particularly affected as an high number of cache to cache communication is triggered, including via false sharing of the type cache information. I believe we can, at least partially, mitigage the performance hit via a minor refactoring which could be applied to both ORM 5.6 and 6+; a better and more thourough analysis will follow separately but will not be backported to older ORM versions. |