Resolve type-pollution problems related to Techempower agent runs on Hibernate ORM 6.2.3-SNAPSHOT

Description

Testing today Hibernate ORM 6.2.3-SNAPSHOT the type pollution agent and stressed using the Techempower benchmark, we got the following report (slightly edited to remove uninteresting sections):

-------------------------- Type Pollution: -------------------------- 1: org.hibernate.persister.entity.SingleTableEntityPersister Count: 1032733 Types: org.hibernate.persister.entity.EntityPersister org.hibernate.metamodel.mapping.EntityMappingType org.hibernate.persister.entity.Loadable org.hibernate.metamodel.mapping.internal.InFlightEntityMappingType org.hibernate.persister.entity.Queryable org.hibernate.metamodel.mapping.Restrictable Traces: org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.<init>(AbstractEntityInitializer.java:173) class: org.hibernate.metamodel.mapping.EntityMappingType count: 321282 org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.getEntityDescriptor(MappingMetamodelImpl.java:388) class: org.hibernate.persister.entity.EntityPersister count: 316121 org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.lambda$postLoad$0(JdbcValuesSourceProcessingStateStandardImpl.java:193) class: org.hibernate.persister.entity.Loadable count: 290265 org.hibernate.sql.results.graph.entity.AbstractEntityInitializer.<init>(AbstractEntityInitializer.java:119) class: org.hibernate.persister.entity.EntityPersister count: 105052 -------------------------- 2: org.hibernate.engine.jdbc.mutation.internal.StandardMutationExecutorService Count: 703920 Types: org.hibernate.engine.jdbc.mutation.spi.MutationExecutorService org.hibernate.service.Service Traces: org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:197) class: org.hibernate.service.Service count: 351563 class: org.hibernate.engine.jdbc.mutation.spi.MutationExecutorService count: 16820 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.executor(UpdateCoordinatorStandard.java:980) class: org.hibernate.engine.jdbc.mutation.spi.MutationExecutorService count: 335537 -------------------------- 3: org.hibernate.sql.exec.internal.JdbcParameterImpl Count: 458650 Types: org.hibernate.sql.ast.tree.expression.JdbcParameter org.hibernate.sql.exec.spi.JdbcParameterBinder Traces: org.hibernate.sql.exec.spi.JdbcParameterBindings.createAndAddBinding(JdbcParameterBindings.java:95) class: org.hibernate.sql.ast.tree.expression.JdbcParameter count: 229603 org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.bindParameters(DeferredResultSetAccess.java:199) class: org.hibernate.sql.exec.spi.JdbcParameterBinder count: 229047 -------------------------- 4: org.hibernate.action.internal.EntityUpdateAction Count: 159201 Types: org.hibernate.action.spi.Executable org.hibernate.action.internal.ComparableEntityAction java.lang.Comparable Traces: org.hibernate.action.internal.EntityAction.compareTo(EntityAction.java:28) class: org.hibernate.action.internal.ComparableEntityAction count: 63754 org.hibernate.engine.spi.ExecutableList.add(ExecutableList.java:209) class: org.hibernate.action.spi.Executable count: 43701 org.hibernate.engine.spi.ExecutableList.add(ExecutableList.java:225) class: java.lang.Comparable count: 31116 org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:614) class: org.hibernate.action.spi.Executable count: 20630 -------------------------- 5: org.hibernate.metamodel.mapping.internal.BasicAttributeMapping Count: 90736 Types: org.hibernate.metamodel.mapping.SingularAttributeMapping org.hibernate.metamodel.mapping.AttributeMapping Traces: org.hibernate.persister.entity.AbstractEntityPersister.resolveDirtyAttributeIndexes(AbstractEntityPersister.java:2391) class: org.hibernate.metamodel.mapping.AttributeMapping count: 45201 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard$UpdateValuesAnalysisImpl.startingAttribute(UpdateCoordinatorStandard.java:1328) class: org.hibernate.metamodel.mapping.SingularAttributeMapping count: 25281 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.decomposeAttributeForUpdate(UpdateCoordinatorStandard.java:797) class: org.hibernate.metamodel.mapping.SingularAttributeMapping count: 12029 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.analyzeUpdateValues(UpdateCoordinatorStandard.java:611) class: org.hibernate.metamodel.mapping.SingularAttributeMapping count: 4746 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard$UpdateValuesAnalysisImpl.startingAttribute(UpdateCoordinatorStandard.java:1332) class: org.hibernate.metamodel.mapping.SingularAttributeMapping count: 2989 org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.analyzeUpdateValues(UpdateCoordinatorStandard.java:613) class: org.hibernate.metamodel.mapping.SingularAttributeMapping count: 487 -------------------------- 7: java.util.ArrayList Count: 30848 Types: java.util.List java.lang.Iterable java.util.Collection Traces: io.vertx.ext.web.impl.RoutingContextImpl.getQueryParams(RoutingContextImpl.java:467) class: java.lang.Iterable count: 15371 org.postgresql.jdbc.PgResultSet.initRowBuffer(PgResultSet.java:3398) class: java.util.List count: 13064 org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:93) class: java.util.List count: 2397

Activity

Show:

Sanne Grinovero May 24, 2023 at 9:55 AM

And one aspect (only) of 1 is resolved by https://hibernate.atlassian.net/browse/HHH-16683

Sanne Grinovero May 23, 2023 at 7:40 PM

And case 3: org.hibernate.sql.exec.internal.JdbcParameterImpl is resolved by https://hibernate.atlassian.net/browse/HHH-16679

Sanne Grinovero May 18, 2023 at 12:08 PM

Case 2: org.hibernate.engine.jdbc.mutation.internal.StandardMutationExecutorService will be resolved by https://hibernate.atlassian.net/browse/HHH-16630

Details

Assignee

Reporter

Labels

Priority

Created May 18, 2023 at 11:14 AM
Updated May 30, 2023 at 10:39 AM