I have been looking into some seemingly slow responses in several clients running simultaneously, and I see in some stack traces that there are synchronization points in DynamicPolicyProvider.implies() that seem to be heavily contended. We probably need to revisit this class and rewrite it to use copy on write mutation so that reads (the majority of activity) are completely uncontended.

Any thoughts or experience with this issue?

Gregg Wonderly

River-323 ConcurrentDynamicPolicyProvider

This is a new implementation of DynamicPolicy, designed for concurrency to overcome the problem Gregg is experiencing with client contention for implies()

Three qa tests are failing for me:

The first one's simple, but the other two aren't clear:

[java] com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/NullCases.td
    [java] Test Failed: Test Failed: com.sun.jini.qa.harness.TestException:
    [java] policy.grant(null, new Principal[] {..., null,... }, null)
    [java]   returned: no Exception
    [java]   expected: NullPointerException
    [java]
    [java]
    [java] -----------------------------------------
[java] com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/GrantPrincipal.td
    [java] Test Failed: Test Failed: com.sun.jini.qa.harness.TestException:
[java] policy.implies(ProtectionDomain((file:/opt/src/ApacheRiver/trunk/qa/lib/jinitests.jar <no signer certificates>), null, sun.misc.launcher$appclassloa...@7d772e, [QAPrincipal[01]]), C)
    [java]   returned: false
    [java]   expected: true
    [java]
    [java]
    [java] -----------------------------------------
[java] com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/GrantNoPrincipalCase02.td
    [java] Test Failed: Test Failed: com.sun.jini.qa.harness.TestException:
[java] policy.implies(ProtectionDomain((file:/opt/src/ApacheRiver/trunk/qa/lib/jinitests.jar <no signer certificates>), null, sun.misc.launcher$appclassloa...@7d772e, []), C)
    [java]   returned: false
    [java]   expected: true
    [java]
    [java]
    [java] -----------------------------------------

Details to follow


Reply via email to