[ 
https://issues.apache.org/jira/browse/WICKET-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Vaynberg updated WICKET-1667:
----------------------------------

    Attachment: patch.txt

fixed patch

> Memory leak in Localizer
> ------------------------
>
>                 Key: WICKET-1667
>                 URL: https://issues.apache.org/jira/browse/WICKET-1667
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.3.3, 1.4-M1
>            Reporter: Badaud
>            Assignee: Igor Vaynberg
>         Attachments: patch.txt
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> I noticed recently (and told on IRC) a problem with the Localizer and the way 
> the getCacheKey() method works.
> I uses the component id of all component in the path to the component to 
> create the key. But each page generation has a different id. This has been 
> fixed recently by breaking outside of the loop which creates the key if the 
> component's parent is a Page instance. This partially solves the always 
> increasing cache. But it still has some issues:
> - with the page completely outside of the path, it could introduce some rare 
> bugs when searching for keys defined in the page properties file (it 
> shouldn't break but skip the "buffer.append(":").append(cursor.getId())" when 
> the cursor is on a Page instance).
> - there is still a bunch of ids generated when you loop over a repeater (the 
> component of type Item has a new id for every item in the list). this is 
> mitigated by the fact that when doing a normal refresh of the view, the 
> starting id restarts at 1, but if you have an Ajax paging view, it's not 
> restarted and starts again to fill the cache with unwanted keys.
> there are multiple options:
> - never include the id in the key (I'm not convinced it is necessary; is it 
> really used in the String loader?)
> - don't include the id in the key if the cursor is on a component of type 
> Page or Item
> - don't include the id if it's numeric (is this costly?)
> In the meantime, I'll make a small fix in my local checkout of Wicket, not 
> including the id if the cursor is on Page or Item

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to