You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Tobias Bocanegra (JIRA)" <ji...@apache.org> on 2013/12/18 02:02:26 UTC

[jira] [Updated] (SLING-2881) [I18N][Performance] JcrResourceBundleProvider clears the cache on mix:language changes

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

Tobias Bocanegra updated SLING-2881:
------------------------------------

    Attachment: sling-2881.r1551665.patch

proposed patch that implements alex's suggestion.

however, it might be better to not go this way and implement the new dictionary approach as discussed on the list: http://www.mail-archive.com/dev@sling.apache.org/msg25686.html

> [I18N][Performance] JcrResourceBundleProvider clears the cache on mix:language changes
> --------------------------------------------------------------------------------------
>
>                 Key: SLING-2881
>                 URL: https://issues.apache.org/jira/browse/SLING-2881
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: i18n 2.2.4
>         Environment: CQ5.6
>            Reporter: Rob Ryan
>              Labels: performance
>         Attachments: sling-2881.r1551665.patch
>
>
> Performance of an appplication using Sling i18n JcrResourceBundleProvider suffers drastically if nodes with mixin type mix:language are modified frequently.
> The reason for the performance degradation is that JcrResourceBundleProvider registers a JCR event listener for node types: mix:language and sling:Message. It then clears the i18n resource bundle cache whenever a node with these types appears in an event.
> The JCR 2.0 spec indicates applications should use a mix:language type as the standard way to provide a property specifying the natural language which the content of a  node is expressed.
> Therefore clearing the resource bundle cache on a change to *any* node with a mix:language type is inappropriately broad.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)