Subject Memory Leek with Statement Pooling
Author Carsten Schäfer
Hi,
there seens to be a memory leek with statement pooling
Firebird 1.5.1 with Jaybird 1.5.1 on WinXPSP2, JDK 1.4.2_05.
I'm using type4 mode and FBWrappingDataSource with connection pooling and Statement-Pooling.
dataSource = new FBWrappingDataSource();
dataSource.setType(typ);
dataSource.setDatabase(db);
dataSource.setUserName(user);
dataSource.setPassword(passwort);
dataSource.setEncoding("WIN1252");
dataSource.setPooling(true);
dataSource.setStatementPooling(true);
dataSource.setMinPoolSize(5);
dataSource.setMaxPoolSize(30);
dataSource.setBlockingTimeout(20000);
dataSource.setMaxIdleTime(3600000);

If i create a report with many different statements used memory is growing.
(Thats normal i thing, because the statements are cached)
After creating the report the connection is given back to the pool.
Memory is not given back.
And this happens every time i create the same report, so i think the statement are not used again the the cache is growing and growing.

If i setStatementPooling(false) and comment out the 4 lines after it the memory is not growing,
not for the first time i create the report and not for creation after that.

I hope this can be fixed and is not a normal effect for statement pooling,
because i think the pooling really makes my application faster.

mfg
Carsten





[Non-text portions of this message have been removed]