Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-18107

Improve perf of ConfigurationService and Framework properties retrieval

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 7.4
    • Fix Version/s: 7.10
    • Component/s: Configuration

      Description

      On high concurrency the ConfigurationService creates contention:

      Java Monitor Blocked
       at java.util.Hashtable.containsKey(Object)
       at org.nuxeo.runtime.services.config.ConfigurationServiceImpl.isBooleanPropertyTrue(String)
       at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(FaceletContext, UIComponent, AliasVariableMapper, FaceletHandler)
       at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(FaceletContext, UIComponent)
      
      Java Monitor Blocked
       at java.util.Hashtable.get(Object)
       at org.nuxeo.common.codec.CryptoProperties.getProperty(String, boolean)
       at org.nuxeo.common.codec.CryptoProperties.getProperty(String)
       at org.nuxeo.runtime.osgi.OSGiRuntimeService.getProperty(String, String)
       at org.nuxeo.runtime.api.Framework.getProperty(String, String)
       at org.nuxeo.runtime.api.Framework.getProperty(String)
       at org.nuxeo.runtime.api.Framework.isBooleanPropertyTrue(String)
       at org.nuxeo.runtime.api.Framework.isDevModeSet()
       at org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManagerImpl.getWidget(FaceletContext, LayoutConversionContext, String, String, LayoutDefinition, WidgetDefinition, String, String, String, int)
      
      Java Monitor Blocked
       at java.util.Hashtable.get(Object)
       at org.nuxeo.common.codec.CryptoProperties.getProperty(String, boolean)
       at org.nuxeo.common.codec.CryptoProperties.getProperty(String)
       at org.nuxeo.runtime.osgi.OSGiRuntimeService.getProperty(String, String)
       at org.nuxeo.runtime.api.Framework.getProperty(String, String)
       at org.nuxeo.runtime.api.Framework.getProperty(String)
       at org.nuxeo.runtime.datasource.ConnectionHelper.useSingleConnection(String)
       at org.nuxeo.runtime.datasource.ConnectionHelper.getConnection(String, boolean)
      

      HashTable usage should be removed

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: