river-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Firmstone (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (RIVER-107) DynamicPolicyProvider could use finer grained locking
Date Sat, 05 Dec 2015 12:31:11 GMT

     [ 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

> 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

View raw message