This is an automated email from the ASF dual-hosted git repository.
ashishvijaywargiya pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 28a54ec933 OFBIZ-13412: Removed the two inline parameters that are no
longer required: AUTO_SERVER=TRUE and LOCK_TIMEOUT=60000.
28a54ec933 is described below
commit 28a54ec9334d5d37ac6d9d85c8f329a084868d10
Author: Ashish Vijaywargiya <[email protected]>
AuthorDate: Wed May 20 14:50:12 2026 +0530
OFBIZ-13412:
Removed the two inline parameters that are no longer required:
AUTO_SERVER=TRUE and LOCK_TIMEOUT=60000.
The AUTO_SERVER attribute is useful when you want to access the H2 database
from an external SQL client. However, as per my understanding, H2 is generally
not accessed through an external SQL client, and instead the SQL Processor
option available in WebTools can be used.
I have noticed the following errors occurring in some cases. For example,
the errors appear approximately once in every ten runs of the following build
and data load command:
./gradlew cleanAll loadAll
2026-05-20 09:39:03,612 |xer_default_products |DocumentIndexer
|I| DocumentIndexer_default_products: indexed Lucene document:
productId:GZ-2644
2026-05-20 09:39:03,613 |xer_default_products |GenericDelegator
|E| Failure in findByCondition operation for entity [ProductContentAndInfo]:
org.apache.ofbiz.entity.GenericDataSourceException: SQL Exception while
executing the following:SELECT PC.PURCHASE_FROM_DATE, PC.USE_TIME_UOM_ID,
PC.PRODUCT_ID, PC.SEQUENCE_NUM, PC.CONTENT_ID, PC.USE_COUNT_LIMIT,
PC.PRODUCT_CONTENT_TYPE_ID, PC.THRU_DATE, PC.FROM_DATE, PC.USE_ROLE_TYPE_ID,
PC.USE_TIME, PC.PURCHASE_THRU_DATE, CO.OWNER_ [...]
SELECT PC.PURCHASE_FROM_DATE, PC.USE_TIME_UOM_ID, PC.PRODUCT_ID,
PC.SEQUENCE_NUM, PC.CONTENT_ID, PC.USE_COUNT_LIMIT, PC.PRODUCT_CONTENT_TYPE_ID,
PC.THRU_DATE, PC.FROM_DATE, PC.USE_ROLE_TYPE_ID, PC.USE_TIME,
PC.PURCHASE_THRU_DATE, CO.OWNER_CONTENT_ID, CO.CONTENT_TYPE_ID, CO.DESCRIPTION,
CO.MIME_TYPE_ID, CO.CHILD_LEAF_COUNT, CO.PRIVILEGE_ENUM_ID, CO.DATA_SOURCE_ID,
CO.LAST_MODIFIED_BY_USER_LOGIN, CO.DATA_RESOURCE_ID, CO.CREATED_BY_USER_LOGIN,
CO.TEMPLATE_DATA_RESOURCE_ID, CO.LAST_MODIFI [...]
org.apache.ofbiz.entity.GenericDataSourceException: SQL Exception while
executing the following:SELECT PC.PURCHASE_FROM_DATE, PC.USE_TIME_UOM_ID,
PC.PRODUCT_ID, PC.SEQUENCE_NUM, PC.CONTENT_ID, PC.USE_COUNT_LIMIT,
PC.PRODUCT_CONTENT_TYPE_ID, PC.THRU_DATE, PC.FROM_DATE, PC.USE_ROLE_TYPE_ID,
PC.USE_TIME, PC.PURCHASE_THRU_DATE, CO.OWNER_CONTENT_ID, CO.CONTENT_TYPE_ID,
CO.DESCRIPTION, CO.MIME_TYPE_ID, CO.CHILD_LEAF_COUNT, CO.PRIVILEGE_ENUM_ID,
CO.DATA_SOURCE_ID, CO.LAST_MODIFIED_BY_USER_LO [...]
SELECT PC.PURCHASE_FROM_DATE, PC.USE_TIME_UOM_ID, PC.PRODUCT_ID,
PC.SEQUENCE_NUM, PC.CONTENT_ID, PC.USE_COUNT_LIMIT, PC.PRODUCT_CONTENT_TYPE_ID,
PC.THRU_DATE, PC.FROM_DATE, PC.USE_ROLE_TYPE_ID, PC.USE_TIME,
PC.PURCHASE_THRU_DATE, CO.OWNER_CONTENT_ID, CO.CONTENT_TYPE_ID, CO.DESCRIPTION,
CO.MIME_TYPE_ID, CO.CHILD_LEAF_COUNT, CO.PRIVILEGE_ENUM_ID, CO.DATA_SOURCE_ID,
CO.LAST_MODIFIED_BY_USER_LOGIN, CO.DATA_RESOURCE_ID, CO.CREATED_BY_USER_LOGIN,
CO.TEMPLATE_DATA_RESOURCE_ID, CO.LAST_MODIFI [...]
at
org.apache.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:399)
at
org.apache.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:858)
at
org.apache.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:171)
at
org.apache.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1657)
at
org.apache.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1705)
at
org.apache.ofbiz.entity.util.EntityQuery.query(EntityQuery.java:467)
at
org.apache.ofbiz.entity.util.EntityQuery.queryList(EntityQuery.java:396)
at
org.apache.ofbiz.content.search.ProductDocument.prepareDocument(ProductDocument.java:280)
at
org.apache.ofbiz.content.search.DocumentIndexer.run(DocumentIndexer.java:98)
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database
has been closed; SQL statement:
SELECT PC.PURCHASE_FROM_DATE, PC.USE_TIME_UOM_ID, PC.PRODUCT_ID,
PC.SEQUENCE_NUM, PC.CONTENT_ID, PC.USE_COUNT_LIMIT, PC.PRODUCT_CONTENT_TYPE_ID,
PC.THRU_DATE, PC.FROM_DATE, PC.USE_ROLE_TYPE_ID, PC.USE_TIME,
PC.PURCHASE_THRU_DATE, CO.OWNER_CONTENT_ID, CO.CONTENT_TYPE_ID, CO.DESCRIPTION,
CO.MIME_TYPE_ID, CO.CHILD_LEAF_COUNT, CO.PRIVILEGE_ENUM_ID, CO.DATA_SOURCE_ID,
CO.LAST_MODIFIED_BY_USER_LOGIN, CO.DATA_RESOURCE_ID, CO.CREATED_BY_USER_LOGIN,
CO.TEMPLATE_DATA_RESOURCE_ID, CO.LAST_MODIFI [...]
at
org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
at
org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:223)
at org.h2.message.DbException.get(DbException.java:199)
at org.h2.message.DbException.get(DbException.java:188)
at org.h2.engine.SessionLocal.getDatabase(SessionLocal.java:674)
at org.h2.command.Prepared.getDatabase(Prepared.java:489)
at org.h2.command.Prepared.<init>(Prepared.java:82)
at org.h2.command.query.Query.<init>(Query.java:172)
at org.h2.command.query.Select.<init>(Select.java:164)
at org.h2.command.Parser.parseSelect(Parser.java:2800)
at org.h2.command.Parser.parseQueryPrimary(Parser.java:2695)
at org.h2.command.Parser.parseQueryTerm(Parser.java:2550)
at org.h2.command.Parser.parseQueryExpressionBody(Parser.java:2529)
at
org.h2.command.Parser.parseQueryExpressionBodyAndEndOfQuery(Parser.java:2522)
at org.h2.command.Parser.parseQueryExpression(Parser.java:2515)
at org.h2.command.Parser.parseQuery(Parser.java:2482)
at org.h2.command.Parser.parsePrepared(Parser.java:613)
at org.h2.command.Parser.parse(Parser.java:584)
at org.h2.command.Parser.parse(Parser.java:559)
at org.h2.command.Parser.prepareCommand(Parser.java:487)
at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:647)
at org.h2.engine.SessionLocal.prepareCommand(SessionLocal.java:563)
at
org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1160)
at
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:93)
at
org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:686)
at
org.apache.commons.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:764)
at
org.apache.commons.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:764)
at
org.apache.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:381)
... 8 more
2026-05-20 09:39:03,616 |xer_default_products |ProductDocument
|E| null
org.apache.ofbiz.entity.transaction.GenericTransactionException: System
error, could not rollback transaction: javax.transaction.xa.XAException:
Rollback failed. (Rollback failed.)
at
org.apache.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:350)
at
org.apache.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:304)
at
org.apache.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1718)
at
org.apache.ofbiz.entity.util.EntityQuery.query(EntityQuery.java:467)
at
org.apache.ofbiz.entity.util.EntityQuery.queryList(EntityQuery.java:396)
at
org.apache.ofbiz.content.search.ProductDocument.prepareDocument(ProductDocument.java:280)
at
org.apache.ofbiz.content.search.DocumentIndexer.run(DocumentIndexer.java:98)
Caused by: javax.transaction.xa.XAException: Rollback failed.
at
org.apache.commons.dbcp2.managed.LocalXAConnectionFactory$LocalXAResource.newXAException(LocalXAConnectionFactory.java:183)
at
org.apache.commons.dbcp2.managed.LocalXAConnectionFactory$LocalXAResource.rollback(LocalXAConnectionFactory.java:248)
at
org.apache.geronimo.transaction.manager.RollbackTask.run(RollbackTask.java:64)
at
org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:604)
at
org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:498)
at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:276)
at
org.apache.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:338)
... 6 more
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is
already closed (to disable automatic closing at VM shutdown, add
";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-240]
at
org.h2.message.DbException.getJdbcSQLException(DbException.java:690)
at
org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
at org.h2.message.DbException.get(DbException.java:223)
at org.h2.message.DbException.get(DbException.java:199)
at org.h2.message.DbException.get(DbException.java:188)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1418)
at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:509)
at
org.apache.commons.dbcp2.managed.LocalXAConnectionFactory$LocalXAResource.rollback(LocalXAConnectionFactory.java:246)
... 11 more
2026-05-20 09:39:03,616 |xer_default_products |DocumentIndexer
|I| DocumentIndexer_default_products: deleted Lucene document:
productId:GZ-5005
> Task :loadAll
To fix the above errors, I have added one parameter in h2 URI because
console error recommends adding this value in the URI:
DB_CLOSE_ON_EXIT=FALSE
---
framework/entity/config/entityengine.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/framework/entity/config/entityengine.xml
b/framework/entity/config/entityengine.xml
index 12467a6514..47cfeb5340 100644
--- a/framework/entity/config/entityengine.xml
+++ b/framework/entity/config/entityengine.xml
@@ -179,7 +179,7 @@ access. For a detailed description see the
core/docs/entityconfig.html file.
<inline-jdbc
jdbc-driver="org.h2.Driver"
-
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000;INIT=CREATE
SCHEMA IF NOT EXISTS OFBIZ\;SET SCHEMA OFBIZ"
+
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE
SCHEMA IF NOT EXISTS OFBIZ\;SET SCHEMA OFBIZ"
jdbc-username="ofbiz"
jdbc-password-lookup="h2-ofbiz"
isolation-level="ReadCommitted"
@@ -207,7 +207,7 @@ access. For a detailed description see the
core/docs/entityconfig.html file.
<inline-jdbc
jdbc-driver="org.h2.Driver"
-
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000;INIT=CREATE
SCHEMA IF NOT EXISTS ODBC\;SET SCHEMA ODBC"
+
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE
SCHEMA IF NOT EXISTS ODBC\;SET SCHEMA ODBC"
jdbc-username="ofbiz"
jdbc-password-lookup="h2-ofbizodbc"
isolation-level="ReadCommitted"
@@ -240,7 +240,7 @@ access. For a detailed description see the
core/docs/entityconfig.html file.
<read-data reader-name="ext-demo"/>
<inline-jdbc
jdbc-driver="org.h2.Driver"
-
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000;INIT=CREATE
SCHEMA IF NOT EXISTS OLAP\;SET SCHEMA OLAP"
+
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE
SCHEMA IF NOT EXISTS OLAP\;SET SCHEMA OLAP"
jdbc-username="ofbiz"
jdbc-password-lookup="h2-ofbizolap"
isolation-level="ReadCommitted"
@@ -273,7 +273,7 @@ access. For a detailed description see the
core/docs/entityconfig.html file.
<inline-jdbc
jdbc-driver="org.h2.Driver"
-
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000;INIT=CREATE
SCHEMA IF NOT EXISTS TENANT\;SET SCHEMA TENANT"
+
jdbc-uri="jdbc:h2:file:./runtime/data/h2/ofbiz;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE
SCHEMA IF NOT EXISTS TENANT\;SET SCHEMA TENANT"
jdbc-username="ofbiz"
jdbc-password-lookup="h2-ofbiztenant"
isolation-level="ReadCommitted"