OK, I've had more of a hack at this, and I've narrowed the problem
down a little.
It appears that any access to an SQLAlias object causes it to not
be correctly released. The SQLAlias objects means that you can
access column names using a different case to how they are stored
in the database.
For example, we store users in a users table in the database, with
column names like USERNAME, but they are accessed with:
<dtml-var username>, this causes the SQLAlias objects to stick around.
One solution to our problem is to just do a <dtml-var USERNAME>
instead. However that doesn't solve the problem with this
"feature" of being able to call it with a different case.
This is a fairly easy bug to reproduce, on my setup at least :).
I have tested it with ZSQLRelay and ZODBDA both talking to SQLServer,
and with ZPyGreSQLDA talking to PostgreSQL.
I would appreciate it if someone else can reproduce the bug,
and I'll put it in the Collector I guess.
On Wed, Dec 06, 2000 at 09:06:47AM +1100, Dyon Balding wrote:
> I have an application that stores state data in a
> SQLServer database. The Zope and database servers
> run on different windows machines, using the ZODBCDA
> product to connect Zope to the ODBC machinery.
> What I have been observing is that the Zope client's
> memory usage increases consistently when ZSQL methods
> are being called. In the Debug screens, the
> culprit appears to be Shared.DC.ZRDB.RDB.SQLAlias.
> Here's a dump of the first few lines after hitting
> a ZSQL method a few hundred times using ab. The
> SQLAlias figures never seem to go down.
> December 5, 2000
> 1:58 pm
> December 5, 2000
> 2:01 pm
> In fact most of our servers run out of memory and need
> to be restarted every couple of days when they get
> sufficient use.
> I've done a bit of a search of the mailing lists, and noone
> else appears to be having the same problem. So does
> anyone have an idea of what we might be doing differently
> to everyone else? We appear to have the latest versions
> I've had a bit of a look through the code, and it appears
> that SQLAlias is used to case desensitize the column names
> of the returned data?
> Any pointers would be appreciated.
> thanks, d
> | Dyon Balding [EMAIL PROTECTED] |
> Zope-Dev maillist - [EMAIL PROTECTED]
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope )
Dyon Balding <[EMAIL PROTECTED]>
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -