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 ^_^