[hibernate-issues] [JIRA] (HHH-14060) "Illegal attempt to associate a collection with two open sessions" during test execution

Martin Panzer (JIRA) jira at hibernate.atlassian.net
Thu Jun 4 06:28:20 EDT 2020


Martin Panzer ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5ed8c2e6da1e4d0a9cef85c6 ) *created* an issue

Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 ) / Bug ( https://hibernate.atlassian.net/browse/HHH-14060?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 ) HHH-14060 ( https://hibernate.atlassian.net/browse/HHH-14060?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 ) "Illegal attempt to associate a collection with two open sessions" during test execution ( https://hibernate.atlassian.net/browse/HHH-14060?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 )

Issue Type: Bug Affects Versions: 5.4.17 Assignee: Unassigned Attachments: locale-type.zip Created: 04/Jun/2020 03:28 AM Environment: Hibernate 5.4.17,
h2,
Windows 10,
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\eclipse\tools\apache-maven\bin\..
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_181\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" Priority: Major Reporter: Martin Panzer ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5ed8c2e6da1e4d0a9cef85c6 )

* *Describe the bug* *
I am currently upgrading a project from hibernate 5.0.10 (wildfly 10), to hibernate 5.4.17 (quarkus).
The application itself works without any problems.
Test execution fails however on the new hibernate version.

I reduced the problem down to some strange session handling.
Inside "AbstractPersistentCollection.setCurrentSession", the sessions are not equal. The collection was created with the entitymanager (and therefore session) I use in my test, but the transaction commit happens with another session.

I attached an minimal reproducer project, which has hibernate 5.4.17 as dependency.
You can relativly easily switch it to 5.0.10, where the tests execute correctly.

* *Expected behavior* *
No problems with test execution after the upgrade to hibernate 5.4.17.

* *Actual behavior* *
When I run my tests, I get the following exception. The test run is failed (red) in this case.

Jun 04, 2020 12:20:49 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [name: persistenceUnitExample]
Jun 04, 2020 12:20:49 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 5.4.17.Final
Jun 04, 2020 12:20:49 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
Jun 04, 2020 12:20:50 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
Jun 04, 2020 12:20:50 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [ null ] at URL [jdbc:h2:mem:test]
Jun 04, 2020 12:20:50 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {}
Jun 04, 2020 12:20:50 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
Jun 04, 2020 12:20:50 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Jun 04, 2020 12:20:50 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
Jun 04, 2020 12:20:50 PM org.hibernate.resource.beans.spi.ManagedBeanRegistryInitiator resolveBeanContainer
INFO: HHH10005002: No explicit CDI BeanManager reference was passed to Hibernate, but CDI is available on the Hibernate ClassLoader.
Jun 04, 2020 12:20:50 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess at 3005db4a] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Jun 04, 2020 12:20:50 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess at 3013909b] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Jun 04, 2020 12:20:50 PM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService
INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
Jun 04, 2020 12:20:51 PM org.hibernate.collection.internal.AbstractPersistentCollection unsetSession
WARN: HHH000471: Cannot unset session in a collection because an unexpected session is defined. A persistent collection may only be associated with one session at a time. Collection : [<unreferenced>]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.642 s <<< FAILURE! - in org.acme.ExampleServiceTest
[ERROR] create  Time elapsed: 0.666 s  <<< ERROR!
javax.persistence.RollbackException: Error while committing the transaction
       at org.acme.ExampleServiceTest.create(ExampleServiceTest.java:31)
Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions. Collection : [<unreferenced>]
       at org.acme.ExampleServiceTest.create(ExampleServiceTest.java:31)
Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions. Collection : [<unreferenced>]
       at org.acme.ExampleServiceTest.create(ExampleServiceTest.java:31)

* *To Reproduce* *
Steps to reproduce the behavior:
1. Download the attached reproducer project
2. Run "mvn clean test"
3. Tests failed.
4. In the pom.xml, change the hibernate-orm.version to 5.0.10.Final, and add hibernate-entitymanager
5. Run "mvn clean test" again
6. No test error

* *Environment (please complete the following information):* *

* Output of `uname -a` or `ver`:
MSYS_NT-10.0 NANB7NLNVP2 2.10.0(0.325/5/3) 2018-06-13 23:34 x86_64 Msys
* Build tool (ie. output of `mvnw --version` or `gradlew --version`):
Maven home: C:\eclipse\tools\apache-maven\bin\..
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_181\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

( https://hibernate.atlassian.net/browse/HHH-14060#add-comment?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-14060#add-comment?atlOrigin=eyJpIjoiNzRiMWZhYmYxNjE0NDJjMWFlNjg0MGE1Zjg4NzBhMDciLCJwIjoiaiJ9 )

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.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100128- sha1:e736ab1 )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-issues/attachments/20200604/5c58bbd8/attachment.html 


More information about the hibernate-issues mailing list