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)