DB2 - Problembeschreibung
Problem IC68699 | Status: Geschlossen |
MEMORY LEAK WHILE CALLING NESTED STORED PROCEDURES | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
we see an application failing due to unavailable memory. Allocating more memory does not help - the application consumes everything and fails. SQL/PL stored procedure 1 calls SQL/PL sp 2 which calls SQL/PL sp 3. sp3 opens a cursor fetches a row and returns to sp2 which then returns to sp1. sp1 iterates several hundred thousand times. Monitoring we see memory consumed by the agent increasing continually. However, if we instead call sp3 from sp1 the problem does not occur - memory consumption is constant. Also, changing the cursor to a select ... fetch first 1 row avoids the problem. Steps to reproduce the issue : create procedure three begin declare N integer; declare C1 cursor for select 42 from sysibm.sysdummy1; open C1; fetch C1 into N; close C1; end % create procedure two(in iterations integer) begin declare i integer default 0; while i < iterations do call three; set i = i + 1; end while; end % create procedure one begin call two(500000); end % connect reset % terminate % If you 'db2 call one', you get the memory leak. | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * DB2 v9.7 on all platform * **************************************************************** * PROBLEM DESCRIPTION: * * Memory leak when calling nested stored procedures * * * * When SQL/PL Stored Procedure 1 calls SQL/PL Stored Procedure * * 2 which calls SQL/PL Stored Procedures. * * * * If Stored procedures 3 opens a cursor which fetches a row * * and returns to Stored Procedure 2, which then * * returns to Stored procedure 3, a small memory leak will * * occurs. * * * * Memory consumed by the agent will increase continuously if * * the Stored procedures are repeated being executed * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 v9.7 Fp3 * **************************************************************** | |
Local-Fix: | |
if we instead call sp3 from sp1 the problem does not occur - memory consumption is constant. | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows | |
Lösung | |
Upgrade to DB2 v9.7 Fp3 | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Bug-Verfolgung | |
Vorgänger : APAR is sysrouted TO one or more of the following: IC69628 Nachfolger : | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 18.05.2010 29.09.2010 29.09.2010 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP3 | |
Problem behoben lt. FixList in der Version | |
9.7.0.3 | |
9.7.0.3 |