Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0013067Openbravo ERPA. Platformpublic2010-04-22 07:542010-12-16 22:15
jpabloae 
marvintm 
normalminorsometimes
closedfixed 
20Professional Appliance
pi 
2.50MP25 
Core
No
0013067: update.database: random startup issue with function temp_findinarray
There are cases (random, once in a while, 3-5%) where the update.database fails with an error like the one paste below. It's not reproducible 100%, but it happens every month in our build farm:

update.database.java:
     [java] Executing database update process without checking changes in local files.
     [java] 0 INFO - Database connection: jdbc:postgresql://localhost:5432/piinc. [^] User: tadpiinc
     [java] 2337 INFO - Executing full update.database
     [java] 2640 INFO - Reading tables...
     [java] 8977 ERROR - ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:283)
     [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
     [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.closeMetadataSentences(PostgreSqlModelLoader.java:605)
     [java] at org.apache.ddlutils.platform.ModelLoaderBase.getDatabase(ModelLoaderBase.java:127)
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2201)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:101)
     [java] at org.openbravo.ddlutils.task.BaseDatabaseTask.execute(BaseDatabaseTask.java:87)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseJava.main(AlterDatabaseJava.java:34)
     [java] org.apache.ddlutils.DatabaseOperationException: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2203)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:101)
     [java] at org.openbravo.ddlutils.task.BaseDatabaseTask.execute(BaseDatabaseTask.java:87)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseJava.main(AlterDatabaseJava.java:34)
     [java] Caused by: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:283)
     [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
     [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.closeMetadataSentences(PostgreSqlModelLoader.java:605)
     [java] at org.apache.ddlutils.platform.ModelLoaderBase.getDatabase(ModelLoaderBase.java:127)
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2201)
     [java] ... 3 more
     [java] Exception in thread "main" org.apache.ddlutils.DatabaseOperationException: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:202)
     [java] at org.openbravo.ddlutils.task.BaseDatabaseTask.execute(BaseDatabaseTask.java:87)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseJava.main(AlterDatabaseJava.java:34)
     [java] Caused by: org.apache.ddlutils.DatabaseOperationException: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2203)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:101)
     [java] ... 2 more
     [java] Caused by: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:283)
     [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
     [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.closeMetadataSentences(PostgreSqlModelLoader.java:605)
     [java] at org.apache.ddlutils.platform.ModelLoaderBase.getDatabase(ModelLoaderBase.java:127)
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2201)
     [java] ... 3 more
     [java] --- Nested Exception ---
     [java] org.apache.ddlutils.DatabaseOperationException: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2203)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:101)
     [java] at org.openbravo.ddlutils.task.BaseDatabaseTask.execute(BaseDatabaseTask.java:87)
     [java] at org.openbravo.ddlutils.task.AlterDatabaseJava.main(AlterDatabaseJava.java:34)
     [java] Caused by: org.postgresql.util.PSQLException: ERROR: function temp_findinarray(integer[], integer) does not exist
     [java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
     [java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
     [java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:283)
     [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
     [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.closeMetadataSentences(PostgreSqlModelLoader.java:605)
     [java] at org.apache.ddlutils.platform.ModelLoaderBase.getDatabase(ModelLoaderBase.java:127)
     [java] at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2201)
     [java] ... 3 more
No tags attached.
has duplicate defect 0012696 closed marvintm Sometimes update.database fails during model loading because function temp_findinarray cannot be dropped 
Issue History
2010-04-22 07:54jpabloaeNew Issue
2010-04-22 07:54jpabloaeAssigned To => alostale
2010-04-22 07:54jpabloaeAssigned Toalostale => marvintm
2010-04-26 08:34alostaleStatusnew => scheduled
2010-10-25 15:57egoitzIssue Monitored: networkb
2010-10-25 15:57egoitzIssue Monitored: egoitz
2010-10-27 10:34egoitzTarget Version => 2.50MP25
2010-10-28 20:07shuehnerIssue Monitored: shuehner
2010-11-10 11:19rafarodaIssue Monitored: rafaroda
2010-11-25 18:28hgbotCheckin
2010-11-25 18:28hgbotNote Added: 0032862
2010-11-25 18:28hgbotStatusscheduled => resolved
2010-11-25 18:28hgbotResolutionopen => fixed
2010-11-25 18:28hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/dbsm-main/rev/798a8bf0173bc1f8686e12c460bc12b4452a3f9b [^]
2010-11-25 18:29hgbotCheckin
2010-11-25 18:29hgbotNote Added: 0032863
2010-11-25 18:29hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/dbsm-main/rev/798a8bf0173bc1f8686e12c460bc12b4452a3f9b [^] => http://code.openbravo.com/erp/devel/pi/rev/431aa181f58d9db075e26288d3ea65eace443937 [^]
2010-11-30 17:52hudsonbotCheckin
2010-11-30 17:52hudsonbotNote Added: 0032950
2010-12-07 15:02marvintmRelationship addedhas duplicate 0012696
2010-12-13 19:45hgbotCheckin
2010-12-13 19:45hgbotNote Added: 0033143
2010-12-13 19:47shuehnerNote Added: 0033144
2010-12-13 19:47shuehnerStatusresolved => closed
2010-12-16 22:15anonymoussf_bug_id0 => 3138769

Notes
(0032862)
hgbot   
2010-11-25 18:28   
Repository: erp/devel/dbsm-main
Changeset: 798a8bf0173bc1f8686e12c460bc12b4452a3f9b
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Nov 25 18:13:14 2010 +0100
URL: http://code.openbravo.com/erp/devel/dbsm-main/rev/798a8bf0173bc1f8686e12c460bc12b4452a3f9b [^]

Fixed issue 13067. Removed temp_findinarray function so that it doesn't cause problems.

---
M src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java
---
(0032863)
hgbot   
2010-11-25 18:29   
Repository: erp/devel/pi
Changeset: 431aa181f58d9db075e26288d3ea65eace443937
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Nov 25 18:28:04 2010 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/431aa181f58d9db075e26288d3ea65eace443937 [^]

Fixed issue 13067. Removed temp_findinarray function so that it doesn't cause problems.

---
M src-db/database/lib/dbsourcemanager.jar
M src-db/database/model/excludeFilter.xml
---
(0032950)
hudsonbot   
2010-11-30 17:52   
A changeset related to this issue has been promoted to main after passing a series of tests and an OBX has been generated:

Changeset: http://code.openbravo.com/erp/devel/main/rev/431aa181f58d [^]
Merge Changeset: http://code.openbravo.com/erp/devel/main/rev/7c27b4b566df [^]
Tests: http://builds.openbravo.com/view/int/ [^]
OBX: http://builds.openbravo.com/erp/core/obx/OpenbravoERP-2.50CI.19017.obx [^]
(0033143)
hgbot   
2010-12-13 19:45   
Repository: erp/devel/dbsm-main
Changeset: 5f25c9ace5a536cc37c54af91474a8374cfcf115
Author: Stefan Hühner <stefan.huehner <at> openbravo.com>
Date: Mon Dec 13 19:44:32 2010 +0100
URL: http://code.openbravo.com/erp/devel/dbsm-main/rev/5f25c9ace5a536cc37c54af91474a8374cfcf115 [^]

Issue 13067. Add @Override and some comments explaining the changed code

---
M src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java
---
(0033144)
shuehner   
2010-12-13 19:47   
Reviewed and tested in pi/pgsql8.4 and pi/pgsql9.0 no inconsistencies related to index- or unique-constraint column ordering.
In addition tested by developer on pgsql8.4 and pgsql8.3