diff --git a/docker_db.sh b/docker_db.sh index 000d2daef7c0..bf8d8b088076 100755 --- a/docker_db.sh +++ b/docker_db.sh @@ -1178,6 +1178,7 @@ ALTER DATABASE system CONFIGURE ZONE USING "gc.ttlseconds" = 300; quit EOF " + cockroachdb_setup echo "Cockroachdb successfully started" } @@ -1215,6 +1216,7 @@ ALTER DATABASE system CONFIGURE ZONE USING "gc.ttlseconds" = 300; quit EOF " + cockroachdb_setup echo "Cockroachdb successfully started" } @@ -1256,10 +1258,29 @@ ALTER DATABASE system CONFIGURE ZONE USING "gc.ttlseconds" = 300; quit EOF " + cockroachdb_setup echo "Cockroachdb successfully started" } +cockroachdb_setup() { + databases=() + for n in $(seq 1 $DB_COUNT) + do + databases+=("hibernate_orm_test_${n}") + done + create_cmd= + for i in "${!databases[@]}";do + create_cmd+="create database ${databases[i]};" + done + $CONTAINER_CLI exec cockroach bash -c "cat < // see GradleParallelTestingResolver for how the test worker id is resolved in JDBC configs if ( project.db == "h2" || project.db == "hsqldb" || project.db == "pgsql_ci" || project.db == "edb_ci" || project.db == "oracle_ci" || project.db == "oracle_xe_ci" || project.db == "mysql_ci" || project.db == "mariadb_ci" - || project.db == "db2_ci" || project.db == "mssql_ci" ) { + || project.db == "db2_ci" || project.db == "mssql_ci" || project.db == "cockroachdb" ) { // Most systems have multi-threading and maxing out a core on both threads will hurt performance // Also, as soon as we hit 16+ threads, the returns are diminishing, so divide by 4 def threadCount = Runtime.runtime.availableProcessors() diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/bulkid/OracleInlineMutationStrategyIdTest.java b/hibernate-core/src/test/java/org/hibernate/orm/test/bulkid/OracleInlineMutationStrategyIdTest.java index 48082c6b61de..597934960680 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/bulkid/OracleInlineMutationStrategyIdTest.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/bulkid/OracleInlineMutationStrategyIdTest.java @@ -4,12 +4,19 @@ */ package org.hibernate.orm.test.bulkid; +import org.hibernate.dialect.CockroachDialect; +import org.hibernate.testing.orm.junit.SkipForDialect; + /** * Special test that tries to update 1100 rows. Oracle only supports up to 1000 parameters per in-predicate, * so we want to test if this scenario works. * * @author Vlad Mihalcea */ +@SkipForDialect( + dialectClass = CockroachDialect.class, + reason = "Amount of rows lengthens the transaction time, leading to retry errors on CockroachDB: https://www.cockroachlabs.com/docs/v24.3/transaction-retry-error-reference.html#retry_commit_deadline_exceeded" +) public class OracleInlineMutationStrategyIdTest extends InlineMutationStrategyIdTest { @Override diff --git a/hibernate-envers/hibernate-envers.gradle b/hibernate-envers/hibernate-envers.gradle index 580e5417b566..a4135fa74ab2 100644 --- a/hibernate-envers/hibernate-envers.gradle +++ b/hibernate-envers/hibernate-envers.gradle @@ -62,7 +62,7 @@ tasks.withType( Test.class ).each { test -> // see GradleParallelTestingResolver for how the test worker id is resolved in JDBC configs if ( project.db == "h2" || project.db == "hsqldb" || project.db == "pgsql_ci" || project.db == "edb_ci" || project.db == "oracle_ci" || project.db == "oracle_xe_ci" || project.db == "mysql_ci" || project.db == "mariadb_ci" - || project.db == "db2_ci" || project.db == "mssql_ci" ) { + || project.db == "db2_ci" || project.db == "mssql_ci" || project.db == "cockroachdb" ) { // Most systems have multi-threading and maxing out a core on both threads will hurt performance // Also, as soon as we hit 16+ threads, the returns are diminishing, so divide by 4 def threadCount = Runtime.runtime.availableProcessors() diff --git a/local-build-plugins/src/main/groovy/local.databases.gradle b/local-build-plugins/src/main/groovy/local.databases.gradle index b6dfa7b3673c..ab8d6578dda6 100644 --- a/local-build-plugins/src/main/groovy/local.databases.gradle +++ b/local-build-plugins/src/main/groovy/local.databases.gradle @@ -378,7 +378,7 @@ ext { 'jdbc.user' : 'root', 'jdbc.pass' : '', // Disable prepared statement caching due to https://www.postgresql.org/message-id/CAEcMXhmmRd4-%2BNQbnjDT26XNdUoXdmntV9zdr8%3DTu8PL9aVCYg%40mail.gmail.com - 'jdbc.url' : 'jdbc:postgresql://' + dbHost + ':26257/defaultdb?sslmode=disable&preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn', + 'jdbc.url' : 'jdbc:postgresql://' + dbHost + ':26257/hibernate_orm_test_$worker?sslmode=disable&preparedStatementCacheQueries=0&escapeSyntaxCallMode=callIfNoReturn', 'jdbc.datasource' : 'org.postgresql.Driver', // 'jdbc.datasource' : 'org.postgresql.ds.PGSimpleDataSource', // Configure the for-update clause to use proper locks: https://github.com/cockroachdb/cockroach/issues/88995