[
https://issues.apache.org/jira/browse/TILES-585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348256#comment-15348256
]
Jakub Dziworski commented on TILES-585:
---------------------------------------
Indeed this is way better solution. Thanks.
> Definition cascade attributes duplicated values under high load
> ---------------------------------------------------------------
>
> Key: TILES-585
> URL: https://issues.apache.org/jira/browse/TILES-585
> Project: Tiles
> Issue Type: Bug
> Components: tiles-core
> Affects Versions: 3.0.5
> Reporter: Jakub Dziworski
> Priority: Critical
>
> The problem concerns {code:java}
> CachingLocaleUrlDefinitionDAO.getDefinitions(Locale customizationKey) {code}
> which lacks synchronization.
> To reproduce the bug:
> # Set up few clients with different Accept-Language headers
> # Make the clients perform many request in short time (check out jmeter
> script attached below)
> # the retValue contains entries with definitions with cascade attirbutes
> whose elements are duplicated.
> We *fixed it by marking getDefinitions method synchronized*.
> Here is jmeter script to reproduce bug:
> [http://pastebin.com/pQT32Crx]
> For following definition:
> {code}
> <definition name="template" template="/WEB-INF/views/template.jsp">
> <put-list-attribute name="scripts" cascade="true">
> <add-attribute value="mstatic/js/form-validation-lang-hu.js" />
> <add-attribute value="mstatic/js/jquery.core.min.js" />
> <add-attribute value="mstatic/js/scripts.min.js" />
> <!--other attributes-->
> </put-list-attribute>
> </definition>
> {code}
> Cascade attributes are duplicated:
>
> !https://s31.postimg.org/9z8fr06ux/image.png!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)