[
https://issues.apache.org/jira/browse/OPENJPA-3016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maxim Solodovnik resolved OPENJPA-3016.
---------------------------------------
Fix Version/s: 4.2.0
Assignee: Richard Zowalla
Resolution: Fixed
> Criteria tests fail on MariaDB and exhaust the connection pool;
> TestPessimisticLocks fails on PostgreSQL
> --------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-3016
> URL: https://issues.apache.org/jira/browse/OPENJPA-3016
> Project: OpenJPA
> Issue Type: Bug
> Components: jpa
> Reporter: Richard Zowalla
> Assignee: Richard Zowalla
> Priority: Major
> Fix For: 4.2.0
>
>
> The first scheduled run of the Databases workflow (OPENJPA-3011) was red: run
> 38204987477 of 12 Oct 2026 on master.
> check success
> build (Java 21, test-mysql-docker) success
> build (Java 21, test-postgresql-docker) failure
> build (Java 21, test-mariadb-docker) failure
> PostgreSQL 11: 197 tests, 1 failure,
> org.apache.openjpa.persistence.lockmgr.TestPessimisticLocks.
> MariaDB 11.8: the criteria package fails in bulk, starting about three
> minutes into the run, e.g.
> TestTypesafeCriteria 124 run, 45 failures, 70 errors
> TestMetaModelTypesafeCriteria 29 run, 10 failures, 11 errors
> TestTypeSafeCondExpression 55 run, 9 failures, 27 errors
> TestSubqueries 28 run, 13 failures, 15 errors
> TestQueryByExample 7 run, 1 failure, 6 errors
> and later, after those failures, the connection pool is exhausted:
> org.apache.openjpa.persistence.PersistenceException: Cannot get a
> connection, pool error Timeout waiting for idle object,
> maxWaitDuration=PT9.999990575S
> Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
> TestMultiselect then reports 28 errors in 170 seconds, all of them connection
> timeouts.
> The ordering suggests the pool exhaustion is a consequence rather than the
> cause: the criteria tests fail first for some dictionary reason, and the
> failures leak connections until the pool is empty. That needs confirming, and
> both the dictionary failures and the leak are worth fixing - a test whose
> failure path leaks a connection turns one red test into a red suite.
> To reproduce, start the server yourself, since the docker profiles do not
> start containers during mvn test:
> docker run -d --name ojpa-maria -e MARIADB_DATABASE=openjpatst -e
> MARIADB_ROOT_PASSWORD=openjpatst -p 3306:3306 mariadb:11.8
> mvn -Ptest-mariadb-docker -pl openjpa-persistence-jdbc -am test
> -Dtest='org/apache/openjpa/persistence/criteria/Test*.java'
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)