Hi Andre,

This does look great. Please hold off checking it in until I get an answer on where it belongs - wafflecone or legals.
Thanks,
Amy

On Mon, Sep 10, 2007 at  2:19 PM, P T Withington wrote:

Nice!

[We should probably audit all the places where we are using caches to see if there are similar errors.]

On 2007-09-09, at 07:17 EDT, André Bargull wrote:

Change 20070909-bargull-8 by [EMAIL PROTECTED] on 2007-09-09 12:12:11
in /home/Admin/src/svn/openlaszlo/branches/wafflecone
for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone

Summary: Fix for memory leak in LzParsedPath

New Features:

Bugs Fixed:
LPP-4214 - "LzDatapointer#ppcache" leaks memory

Technical Reviewer: hminsky
QA Reviewer: ptw
Doc Reviewer: (pending)

Documentation:
Added "getContext()" to LzParsedPath which replaces the direct access to "context"-member of "LzParsedPath". With this change the "context"-member of LzParsedPath is only used for "new"-datasets (xpath:"new:/foo/bar"). This API-Change was necessary, because LzParsedPath was holding a reference to a dataset through his "context"-member, but even if this dataset was destroyed, the reference was not cleared.
This led to two bugs:
1. it was preventing garbage-collection
2. when a user created a new dataset with the same name, cached LzParsedPaths were still pointing to the old dataset, which gave some strange errors i.e. when a user used xpath:"ds:/foo/ text()" (cached) this gave the old results, but xpath:"ds:/foo" (non-cached) and then a LzDatapointer#getNodeText() gave new results. For better understanding of this issue, please see the attached testcase at LPP-4214.

Release Notes:

Details:
The marked memory leaks in the testcase are covered by LPP-4688


Tests:
Testcase is attached at LPP-4214

Files:
M WEB-INF/lps/lfc/data/LzDatapointer.lzs
M WEB-INF/lps/lfc/data/LzParsedPath.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070909- bargull-8.tar

--
Official OpenLaszlo-Committer ^_^



Reply via email to