Commit 28a54ec
committed
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_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_MODIFIED_DATE, CO.INSTANCE_OF_CONTENT_ID, CO.SERVICE_NAME, CO.CUSTOM_METHOD_ID, CO.CHARACTER_SET_ID, CO.CONTENT_NAME, CO.CREATED_DATE, CO.STATUS_ID, CO.LOCALE_STRING, CO.DECORATOR_CONTENT_ID, CO.CHILD_BRANCH_COUNT, DR.DATA_RESOURCE_NAME, DR.SURVEY_ID, DR.DATA_TEMPLATE_TYPE_ID, DR.LAST_MODIFIED_DATE, DR.MIME_TYPE_ID, DR.DATA_CATEGORY_ID, DR.SURVEY_RESPONSE_ID, DR.CHARACTER_SET_ID, DR.DATA_SOURCE_ID, DR.LAST_MODIFIED_BY_USER_LOGIN, DR.CREATED_DATE, DR.STATUS_ID, DR.LOCALE_STRING, DR.RELATED_DETAIL_ID, DR.DATA_RESOURCE_ID, DR.IS_PUBLIC, DR.OBJECT_INFO, DR.DATA_RESOURCE_TYPE_ID, DR.CREATED_BY_USER_LOGIN FROM (OFBIZ.PRODUCT_CONTENT PC INNER JOIN OFBIZ.CONTENT CO ON PC.CONTENT_ID = CO.CONTENT_ID) LEFT OUTER JOIN OFBIZ.DATA_RESOURCE DR ON CO.DATA_RESOURCE_ID = DR.DATA_RESOURCE_ID WHERE ((PC.PRODUCT_ID = ? AND PC.PRODUCT_CONTENT_TYPE_ID = ?)) (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_MODIFIED_DATE, CO.INSTANCE_OF_CONTENT_ID, CO.SERVICE_NAME, CO.CUSTOM_METHOD_ID, CO.CHARACTER_SET_ID, CO.CONTENT_NAME, CO.CREATED_DATE, CO.STATUS_ID, CO.LOCALE_STRING, CO.DECORATOR_CONTENT_ID, CO.CHILD_BRANCH_COUNT, DR.DATA_RESOURCE_NAME, DR.SURVEY_ID, DR.DATA_TEMPLATE_TYPE_ID, DR.LAST_MODIFIED_DATE, DR.MIME_TYPE_ID, DR.DATA_CATEGORY_ID, DR.SURVEY_RESPONSE_ID, DR.CHARACTER_SET_ID, DR.DATA_SOURCE_ID, DR.LAST_MODIFIED_BY_USER_LOGIN, DR.CREATED_DATE, DR.STATUS_ID, DR.LOCALE_STRING, DR.RELATED_DETAIL_ID, DR.DATA_RESOURCE_ID, DR.IS_PUBLIC, DR.OBJECT_INFO, DR.DATA_RESOURCE_TYPE_ID, DR.CREATED_BY_USER_LOGIN FROM (OFBIZ.PRODUCT_CONTENT PC INNER JOIN OFBIZ.CONTENT CO ON PC.CONTENT_ID = CO.CONTENT_ID) LEFT OUTER JOIN OFBIZ.DATA_RESOURCE DR ON CO.DATA_RESOURCE_ID = DR.DATA_RESOURCE_ID WHERE ((PC.PRODUCT_ID = ? AND PC.PRODUCT_CONTENT_TYPE_ID = ?)) [90098-240]). Rolling back transaction.
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_LOGIN, CO.DATA_RESOURCE_ID, CO.CREATED_BY_USER_LOGIN, CO.TEMPLATE_DATA_RESOURCE_ID, CO.LAST_MODIFIED_DATE, CO.INSTANCE_OF_CONTENT_ID, CO.SERVICE_NAME, CO.CUSTOM_METHOD_ID, CO.CHARACTER_SET_ID, CO.CONTENT_NAME, CO.CREATED_DATE, CO.STATUS_ID, CO.LOCALE_STRING, CO.DECORATOR_CONTENT_ID, CO.CHILD_BRANCH_COUNT, DR.DATA_RESOURCE_NAME, DR.SURVEY_ID, DR.DATA_TEMPLATE_TYPE_ID, DR.LAST_MODIFIED_DATE, DR.MIME_TYPE_ID, DR.DATA_CATEGORY_ID, DR.SURVEY_RESPONSE_ID, DR.CHARACTER_SET_ID, DR.DATA_SOURCE_ID, DR.LAST_MODIFIED_BY_USER_LOGIN, DR.CREATED_DATE, DR.STATUS_ID, DR.LOCALE_STRING, DR.RELATED_DETAIL_ID, DR.DATA_RESOURCE_ID, DR.IS_PUBLIC, DR.OBJECT_INFO, DR.DATA_RESOURCE_TYPE_ID, DR.CREATED_BY_USER_LOGIN FROM (OFBIZ.PRODUCT_CONTENT PC INNER JOIN OFBIZ.CONTENT CO ON PC.CONTENT_ID = CO.CONTENT_ID) LEFT OUTER JOIN OFBIZ.DATA_RESOURCE DR ON CO.DATA_RESOURCE_ID = DR.DATA_RESOURCE_ID WHERE ((PC.PRODUCT_ID = ? AND PC.PRODUCT_CONTENT_TYPE_ID = ?)) (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_MODIFIED_DATE, CO.INSTANCE_OF_CONTENT_ID, CO.SERVICE_NAME, CO.CUSTOM_METHOD_ID, CO.CHARACTER_SET_ID, CO.CONTENT_NAME, CO.CREATED_DATE, CO.STATUS_ID, CO.LOCALE_STRING, CO.DECORATOR_CONTENT_ID, CO.CHILD_BRANCH_COUNT, DR.DATA_RESOURCE_NAME, DR.SURVEY_ID, DR.DATA_TEMPLATE_TYPE_ID, DR.LAST_MODIFIED_DATE, DR.MIME_TYPE_ID, DR.DATA_CATEGORY_ID, DR.SURVEY_RESPONSE_ID, DR.CHARACTER_SET_ID, DR.DATA_SOURCE_ID, DR.LAST_MODIFIED_BY_USER_LOGIN, DR.CREATED_DATE, DR.STATUS_ID, DR.LOCALE_STRING, DR.RELATED_DETAIL_ID, DR.DATA_RESOURCE_ID, DR.IS_PUBLIC, DR.OBJECT_INFO, DR.DATA_RESOURCE_TYPE_ID, DR.CREATED_BY_USER_LOGIN FROM (OFBIZ.PRODUCT_CONTENT PC INNER JOIN OFBIZ.CONTENT CO ON PC.CONTENT_ID = CO.CONTENT_ID) LEFT OUTER JOIN OFBIZ.DATA_RESOURCE DR ON CO.DATA_RESOURCE_ID = DR.DATA_RESOURCE_ID WHERE ((PC.PRODUCT_ID = ? AND PC.PRODUCT_CONTENT_TYPE_ID = ?)) [90098-240])
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_MODIFIED_DATE, CO.INSTANCE_OF_CONTENT_ID, CO.SERVICE_NAME, CO.CUSTOM_METHOD_ID, CO.CHARACTER_SET_ID, CO.CONTENT_NAME, CO.CREATED_DATE, CO.STATUS_ID, CO.LOCALE_STRING, CO.DECORATOR_CONTENT_ID, CO.CHILD_BRANCH_COUNT, DR.DATA_RESOURCE_NAME, DR.SURVEY_ID, DR.DATA_TEMPLATE_TYPE_ID, DR.LAST_MODIFIED_DATE, DR.MIME_TYPE_ID, DR.DATA_CATEGORY_ID, DR.SURVEY_RESPONSE_ID, DR.CHARACTER_SET_ID, DR.DATA_SOURCE_ID, DR.LAST_MODIFIED_BY_USER_LOGIN, DR.CREATED_DATE, DR.STATUS_ID, DR.LOCALE_STRING, DR.RELATED_DETAIL_ID, DR.DATA_RESOURCE_ID, DR.IS_PUBLIC, DR.OBJECT_INFO, DR.DATA_RESOURCE_TYPE_ID, DR.CREATED_BY_USER_LOGIN FROM (OFBIZ.PRODUCT_CONTENT PC INNER JOIN OFBIZ.CONTENT CO ON PC.CONTENT_ID = CO.CONTENT_ID) LEFT OUTER JOIN OFBIZ.DATA_RESOURCE DR ON CO.DATA_RESOURCE_ID = DR.DATA_RESOURCE_ID WHERE ((PC.PRODUCT_ID = ? AND PC.PRODUCT_CONTENT_TYPE_ID = ?)) [90098-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.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=FALSE1 parent b914e87 commit 28a54ec
1 file changed
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
| 182 | + | |
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
210 | | - | |
| 210 | + | |
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| |||
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
243 | | - | |
| 243 | + | |
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
| |||
273 | 273 | | |
274 | 274 | | |
275 | 275 | | |
276 | | - | |
| 276 | + | |
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
| |||
0 commit comments