[Opensource] Réf. : Re: [Opensource] isn't it a priority to correct bugs ?

Thierry Clement Thierry.Clement at cetim.fr
Thu Oct 24 09:38:51 PDT 2002


Thank you to Mike for having sent a very detailed answer to my worries 
about bugs being fixed or not. From this answer, I can understand the 
reasons of releasing 5.0 knowing some pbs did still exist. Also I admit 
that I saw a lot of bug fixes in the new release. But if I was a bit 
upset, it was in part- as you guessed -  because I felt the pbs I declared 
were dealt as minor. In fact, after some testing on 5.0 with a working app 
on 4.02, I observed serious performance pbs and I then thought (I may be 
wrong) that it could be linked to the new connection pooling strategy  of 
5.0 . That's why I gave up on trying working on it and continued my 
developments on the app - at my regret - under Expresso 4.0.2.

To finish with the subject of a fair use of the community, I want to 
assure everybody and Sandra Cann that I do consider that no exchange can 
be dealt one-way (I tried myself to contribute to the community by 
answering to some questions, such as installation of Expresso under 
JBuilder 6 )

Encouraged by Mike, I just tried again under Expresso 5.0. , connected 
with a MySql database, in order to try to run deeper into the causes, and 
trying to trace what happens...
My app uses 2 dbs : one for the tables of Expresso and one for the real 
data (configured with hasSetupTables=false through config file)

My app has to retrieve a lot of linked objects (in fact it handles a tree 
containing recurse nodes), hopefully with the same connection. For that, 
it counts on the fact that the connection of a DBObject (say the root of a 
tree) is passed through other linked nodes by building them with 
constructor invoked in such a way :

linked_node = new DBNode( rootNode.getConnection() );

rootNode having been initialized by by smthg like  :
DBNode rootNode = DBNode.retrieveFmKey(conn, key);

where conn is a first connection obtained by thePool.getConnection(); 

The method getConnection() is a method of my specific class DBNode that 
returns instance var. localConnection of the inherited SecuredDBObject.

--> Here is one pb : this variable that was never null in Expresso 4.02 
now can be null, so I had to modify DBNode.getConnection() in order to 
test it and get new connection from the pool in the case of nullity - I 
don't understand why this var.  localConnection gets null - may be there 
is a release of connection that didnt happen in 4.02 ? may be I don't have 
to rely on this variable but use another way ?

--> there must be another pb., linked with the fact I am using one db for 
config, and one other for date, as I get the message :

com.jcorporate.expresso.core.dataobjects.jdbc.JDBCExecutor.retrieve(DataObject) 
error
com.jcorporate.expresso.core.db.DBException: Unable to execute statement: 
SELECT CacheSize, DBObjectName, PageLimit FROM DBOBJLIMIT WHERE 
DBObjectName LIKE 'com.cetim.annuaire.dbobj.Hie_node' 
(com.jcorporate.expresso.core.dataobjects.jdbc.JDBCExecutor, db/context 
'annuaire'):General error: Table 'annuairedata.dbobjlimit' doesn't exist

Still, a first retrieve works..
And then the app gets stuck because of a limit of connections as I get 
these messages :
-----------
2002-10-24 18:14:37,203 WARN  [HttpProcessor[8080][0]] dbobj.DBObject 
(DBObject.java:6128) - Unable to locate default Controller Parameters for 
data caches for objectcom.cetim.annuaire.dbobj.Hie_node Setting cache size 
to zero
2002-10-24 18:14:37,515 WARN  [HttpProcessor[8080][0]] db.DBConnectionPool 
(DBConnectionPool.java:655) - --------------------------------
2002-10-24 18:14:37,531 WARN  [HttpProcessor[8080][0]] db.DBConnectionPool 
(DBConnectionPool.java:656) - WARNING: DB Connection Pool 'annuaire' is 
full even after clean.
2002-10-24 18:14:52,546 ERROR [HttpProcessor[8080][0]] db.DBConnectionPool 
(DBConnectionPool.java:709) - Pool 'annuaire' still full
2002-10-24 18:14:52,546 ERROR [HttpProcessor[8080][0]] jdbc.JDBCExecutor 
(JDBCExecutor.java:647) - 
com.jcorporate.expresso.core.dataobjects.jdbc.JDBCExecutor.retrieve(DataObject) 
error
com.jcorporate.expresso.core.db.exception.PoolFullException: Cannot 
allocate another database connection. There are already 6 connections in 
use. Please report this problem to the administrator
------------
... so that no new retrieve can be performed


It seems that Expresso tries to find table dbobjlimit in the wrong db (it 
is in my config db) . Any clue ?

Thanks

Thierry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.jcorporate.com/pipermail/opensource/attachments/20021024/c2fb2aed/attachment-0002.htm


More information about the Opensource mailing list