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

Andrus Adamchik closed CAY-1669.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 3.1M4
    
> RuntimeProperties use of System properties becomes a contention point when 
> creating query translators 
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-1669
>                 URL: https://issues.apache.org/jira/browse/CAY-1669
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>    Affects Versions: 3.1M3
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>            Priority: Minor
>             Fix For: 3.1M4
>
>
> Turns out System.getProperty(String) is synchronized internally, and can 
> create a global contention point for the app. DefaultRuntimeProperties is 
> calling System.getProperty every time, so if we want to minimize the impact 
> of this lock, we need to cache property values when we read them. A specific 
> case where this happened a lot was JdbcAdapter (and subclasses) 
> createEJBQLTranslatorFactory and getQualifierTranslator methods. Both of 
> these methods checked for whether we have a case-insensitive collation. These 
> 2 methods are used a lot, so will cache the value of the property in the 
> adapter instance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to