Subject | Re: [Firebird-Java] Memory Leek with Statement Pooling |
---|---|
Author | Carsten Schäfer |
Post date | 2004-10-06T14:02:12Z |
"Roman Rokytskyy" wrote:
I use dataSource.setMinPoolSize(0);
and dataSource.setMaxIdleTime(10000);
so that after ten seconds connection and statements should be released.
But the memory usage is still climbing.
Not for every call of my report, but very often.
If i use setStatementPooling(false) memory usage is never climbing for this
report,
so i think there must be a leak somewhere in pooling.
mfg
Carsten
>> Are the statements released ever ?I have done some more testing.
>
> Statement cannot live longer than connection. In worst case they are
> released when connection is closed. In normal case application closes
> them right after the use. When statement pooling is used they are not
> released until connection is closed. Even more, there is a limit on
> open statement handles in Firebird (something ~20,000). Uncontrolled
> statement pooling might exaust Firebird.
>
I use dataSource.setMinPoolSize(0);
and dataSource.setMaxIdleTime(10000);
so that after ten seconds connection and statements should be released.
But the memory usage is still climbing.
Not for every call of my report, but very often.
If i use setStatementPooling(false) memory usage is never climbing for this
report,
so i think there must be a leak somewhere in pooling.
mfg
Carsten