Jakub Dziworski created TILES-585:
-------------------------------------
Summary: 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 definitions:
{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)