[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