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"

Reply via email to