HHH-18755 - Skip test that causes deadlock

On CockroachDB the method
`testCopyPersistentCollectionReferenceAfterFlush` causes a
deadlock, which is resolved eventually by a TimeoutException.

This problem has been discussed in
https://github.com/cockroachdb/cockroach/issues/61269. The
CockroachDB developers do not see this as a bug that needs to
be fixed. Therefore we skip this test for CockroachDB.
This commit is contained in:
Karel Maesen 2024-10-23 09:50:23 +02:00 committed by Christian Beikov
parent d94087e685
commit eaca728d60
1 changed files with 5 additions and 0 deletions

View File

@ -37,12 +37,15 @@ import org.hibernate.Hibernate;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
import org.hibernate.collection.spi.AbstractPersistentCollection; import org.hibernate.collection.spi.AbstractPersistentCollection;
import org.hibernate.collection.spi.PersistentCollection; import org.hibernate.collection.spi.PersistentCollection;
import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.HSQLDialect;
import org.hibernate.engine.spi.CollectionEntry; import org.hibernate.engine.spi.CollectionEntry;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModel;
import org.hibernate.testing.orm.junit.SessionFactory; import org.hibernate.testing.orm.junit.SessionFactory;
import org.hibernate.testing.orm.junit.SessionFactoryScope; import org.hibernate.testing.orm.junit.SessionFactoryScope;
import org.hibernate.testing.orm.junit.SkipForDialect;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
@ -284,6 +287,8 @@ public class MultipleSessionCollectionTest {
@Test @Test
@TestForIssue(jiraKey = "HHH-9518") @TestForIssue(jiraKey = "HHH-9518")
@SkipForDialect(dialectClass = HSQLDialect.class, reason = "The select triggered by the merge just hang without any exception")
@SkipForDialect(dialectClass = CockroachDialect.class, reason = "The merge in the second session causes a deadlock")
public void testCopyPersistentCollectionReferenceAfterFlush(SessionFactoryScope scope) { public void testCopyPersistentCollectionReferenceAfterFlush(SessionFactoryScope scope) {
Parent p = new Parent(); Parent p = new Parent();
Child c = new Child(); Child c = new Child();