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

Peter Firmstone resolved RIVER-107.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: River_3.0.0

DynamicPolicyProvider now utilises thread confinement and immutable 
PermissionGrant's, PermissionCollection's are created on demand and discarded.  
 Permission's are now also dynamically ordered for optimum performance.

> DynamicPolicyProvider could use finer grained locking
> -----------------------------------------------------
>
>                 Key: RIVER-107
>                 URL: https://issues.apache.org/jira/browse/RIVER-107
>             Project: River
>          Issue Type: Improvement
>          Components: net_jini_security
>    Affects Versions: jtsk_2.1
>            Reporter: Thomas Vinod Johnson
>            Priority: Minor
>             Fix For: River_3.0.0
>
>
> [6348797|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6348797]
> In certain situations, use of DebugDynamicPolicyProvider (a subclass of 
> DynamicPolicyProvider) can lead to deadlocks. See for e.g.
> http://archives.java.sun.com/cgi-bin/wa?A2=ind0511&L=jini-users&F=&S=&P=14611
> This is in part due to the fact that DynamicPolicyProvider does some coarse 
> grained synchronization (in this case the DomainPermissions.implies method). 
> We should revisit this class to see if we can do more fine grained locking to 
> improve concurrency and avoid deadlocks.
> To completely disentangle calls to basePolicy from DynamicPolicyProvider 
> synchronization, the call to basePolicy.getPermissions() within 
> DomainPermissions.getPermissions() will also need to be shifted outside of 
> synchronization.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to