Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0029609Openbravo ERPA. Platformpublic2015-04-16 10:562015-04-22 10:36
alostale 
alostale 
immediatemajorhave not tried
closedfixed 
5
 
3.0PR15Q23.0PR15Q2 
AugustoMauch
Core
Packaging and release
2015-01-26
main
https://code.openbravo.com/erp/devel/pi/rev/ad079bdad031de6cb0c8cf7cb8a82d264950e6db [^]
No
0029609: System cannot be rebuilt having Tomcat JDBC Pool
System cannot be rebuilt having Tomcat JDBC Pool configured because errors are obtained in generate.entities task.
* Install and configure Tomcat JDBC Pool module (http://wiki.openbravo.com/wiki/Modules:Tomcat_JDBC_Connection_Pool [^])
* run ant smartbuild
  --> This error is got

generate.entities.quick:
     [java] 220 [main] INFO org.openbravo.base.session.OBPropertiesProvider - Setting Openbravo.properties through file: /home/alostale/ws/pi-pg/openbravo/config/Openbravo.properties
     [java] 240 [main] ERROR org.openbravo.apachejdbcconnectionpool.JdbcExternalConnectionPool - Error while retrieving connection:
     [java] java.sql.SQLException
     [java] at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:243)
     [java] at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:176)
     [java] at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:653)
     [java] at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:595)
     [java] at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:458)
     [java] at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:130)
     [java] at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:99)
     [java] at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:110)
     [java] at org.openbravo.apachejdbcconnectionpool.JdbcExternalConnectionPool.getConnection(JdbcExternalConnectionPool.java:60)
     [java] at org.openbravo.database.ConnectionProviderImpl.getConnection(ConnectionProviderImpl.java:225)
     [java] at org.openbravo.database.ConnectionProviderImpl.getConnection(ConnectionProviderImpl.java:209)
     [java] at org.openbravo.utils.OBRebuildAppender.append(OBRebuildAppender.java:65)
     [java] at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
     [java] at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
     [java] at org.apache.log4j.Category.callAppenders(Category.java:206)
     [java] at org.apache.log4j.Category.forcedLog(Category.java:391)
     [java] at org.apache.log4j.Category.info(Category.java:666)
     [java] at org.openbravo.base.session.OBPropertiesProvider.setProperties(OBPropertiesProvider.java:132)
     [java] at org.openbravo.base.session.OBPropertiesProvider.readPropertiesFromDevelopmentProject(OBPropertiesProvider.java:168)
     [java] at org.openbravo.base.session.OBPropertiesProvider.getOpenbravoProperties(OBPropertiesProvider.java:70)
...
The problem is caused because rebuild tasks use OBRebuildAppender which logs in DB all messages with a level equal or higher than INFO, pool module gets the Openbravo.properties using OBPropertiesProvider which tries to log with info level the file the properties are in before they are set, this tries to log in DB invoking again the OBPropertiesProvider, this results in an error.

OBPropertiesProvider shouldn't log any INFO level message while setting the properties.
Approved
blocks defect 0029608 closed alostale System cannot be rebuilt having Tomcat JDBC Pool 
Issue History
2015-04-16 11:01alostaleTypedefect => backport
2015-04-16 11:01alostaleTarget Version => 3.0PR15Q2
2015-04-16 11:02alostaleAssigned Toplatform => alostale
2015-04-16 11:11hgbotCheckin
2015-04-16 11:11hgbotNote Added: 0076579
2015-04-16 11:11hgbotStatusscheduled => resolved
2015-04-16 11:11hgbotResolutionopen => fixed
2015-04-16 11:11hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR15Q2/rev/ba268cfc7d89842ed7f2f85bae9c03bdd313d99f [^]
2015-04-16 13:13dmitry_mezentsevTag Attached: Approved
2015-04-22 10:36AugustoMauchNote Added: 0076682
2015-04-22 10:36AugustoMauchStatusresolved => closed
2015-04-22 10:36AugustoMauchFixed in Version => 3.0PR15Q2

Notes
(0076579)
hgbot   
2015-04-16 11:11   
Repository: erp/backports/3.0PR15Q2
Changeset: ba268cfc7d89842ed7f2f85bae9c03bdd313d99f
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Thu Apr 16 11:06:30 2015 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR15Q2/rev/ba268cfc7d89842ed7f2f85bae9c03bdd313d99f [^]

fixed bug 29609: System cannot be rebuilt having Tomcat JDBC Pool

  OBPropertiesProvider.setProperties method was invoked when rebuilding
  to get a connection, as this method tried to log with INFO level, it caused
  recursive invokations.

  Messages logged while setting properties have been lowered to DEBUG to prevent
  this situation.

---
M src/org/openbravo/base/session/OBPropertiesProvider.java
---
(0076682)
AugustoMauch   
2015-04-22 10:36   
Code reviewed and verified in [1]@ba268cfc7d89

[1] https://code.openbravo.com/erp/backports/3.0PR15Q2 [^]