You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@river.apache.org by Peter Firmstone <ji...@zeus.net.au> on 2010/09/03 03:03:06 UTC

Re: svn commit: r992144 - in /incubator/river/jtsk/trunk: ./ examples/hello/src/com/sun/jini/example/hello/ qa/src/com/sun/jini/test/impl/joinmanager/ qa/src/com/sun/jini/test/impl/servicediscovery/event/ qa/src/com/sun/jini/test/spec/servicediscovery/ qa/...

Jonathan,

I'm taking a passive observer role at the moment and will assist where 
possible, if required.

It seems like your looking to remove changes I've made, there are a 
significant number, you'll save a lot of time by taking the last release 
branch and adding recent patches or changes related to bugs.  This will 
then give you a bug fix build.  After you've completed that, I'm 
interested to see how we do the skunk merge & peer review, so we can 
look at the work I've done and get some feedback, make changes or 
discard etc and merge as suggested.  What sort of time frames are we 
looking at for merges?

After I created the last release I advised that I'd be doing some 
experimentation, exploration and encouraged others to participate.  At 
the time, I was the only active committer.  The objective was to 
generate greater involvement.  We now have greater involvement, so now 
we need some new objectives, one of which is to enable easier active 
participation by all concerned.

Recent bug fix changes since the last release are:

Changes to TaskManager, Task to avoid subclassing Thread.
Brian's recent patch.
Changes to a jtreg test sute relating to classloader visibility for 
unresolved permissions based on the assumption that the jsk-policy.jar 
is in the jre/ext/ directory and will generate unresolved permissions.  
The changes were simply to create UnresolvedPermission's explicitly 
rather than rely on ClassLoader visibility for their implicit creation.

The changes I made were related to the following:

    * A clean room, concurrent dynamic policy provider implementation,
      this has been tested very thoroughly, most of the new junit tests
      relate to this, it also passes all dynamic policy provider tests. 
      This works via the new DynamicPolicyProvider SPI, so the old or
      new implementations are directly substitutable by an
      administrator.  I've run concurrency tests, which have not been
      committed to date, this is non blocking code for anything sub
      classing Permission directly.  Anything that subclasses
      BasicPermission or implements its own PermissionCollection, will
      experience some contention.  Example: 2,000,000 (4 distinct)
      RuntimePermission checks looping continuously in a 5 thread
      ThreadPool takes 32 seconds to execute, on my old Ultra 80.
    * UmbrellaGrantPermission's in DynamicPolicy's this capability was
      suggested by Mark Brouwer and added to the concurrent dynamic
      policy provider only.
    * A concurrent file policy provider implementation, for situations
      where a dynamic policy isn't required.
    * RevokeableDynamicPolicy for Permission revocation - this is
      experimental, the components relating to the policy have been
      added to the concurrent dynamic policy provider, but are non
      essential for its function, all this does is allow removal of
      PermissionGrant's from the policy and prevent dynamic grant's
      becoming merged in a ProtectionDomain.  This does not effect full
      revocation, which will rely on delegates.  It is based around my
      percieved need to sandbox code while to providing some trusted
      functionality to it using delegates based on the assumption that I
      know who I'm dealing with (the service) but I'm not willing to
      trust the unaudited unknown bytecode (the smart proxy) .
    * RemoteEvents for JavaCDC personal basis profile compatibility. 
      This looks to be a very difficult problem to solve due to the
      restrictions of Serialized form, the related code should be
      abandoned.  I don't have enough time to persue this, security and
      collaboration at the same time, which are my higher priorities.
    * PortableServiceRegistrar - this was a new interface for the
      current Reggie implementation to use for JavaCDC personal basis
      profile proxy's.  This should probably be abandoned.
    * RegistrarManagement - API mirroring DiscoveryManagement allowing
      compatibility with Java CDC, this too should probably be abandoned.
    * DiscoveryListenerManagement - a new interface for a Java CDC River
      profile, this too should probably be abandoned.
    * StreamServiceRegistrar, this is a ServiceRegistrar API for the
      internet, for delayed unmarshalling of proxy code, to allow
      further local filtering based on comparison of Entry's after
      ServiceItem matches are performed by the registrar.  these are API
      only, it has been provided for review and also relates to Maven
      based provisioning of proxy's.  It's been on svn for several
      months, so I'm assuming it's had some review but since there is no
      feedback on the API it's hard to determine whether it is ready for
      implementation.
    * CodebaseAccessClassLoader, this was contributed by Gregg Wonderly,
      it allowed Chris Dolan to use a Jini service within OSGi. This is
      a significant achievement. I would definitely include this work,
      since it solves a very long standing problem that has cost Apache
      River's development significant stagnation, due to unnecessary
      heated arguments and confusion that threatened River's very survival.

Once you've got the trunk how you want it, I'll take a diff and discard 
the CDC related work.  Then we can look at how the remaining parts of my 
work can continue active development.

Peter.


jcosters@apache.org wrote:
> Author: jcosters
> Date: Thu Sep  2 22:52:04 2010
> New Revision: 992144
>
> URL: http://svn.apache.org/viewvc?rev=992144&view=rev
> Log:
> backout recent changes
>
> Modified:
>     incubator/river/jtsk/trunk/   (props changed)
>     incubator/river/jtsk/trunk/examples/hello/src/com/sun/jini/example/hello/Client.java
>     incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.java
>     incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.java
>     incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/AbstractBaseTest.java
>     incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.java
>     incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.java
>
> Propchange: incubator/river/jtsk/trunk/
> ------------------------------------------------------------------------------
> --- svn:ignore (original)
> +++ svn:ignore Thu Sep  2 22:52:04 2010
> @@ -1,12 +1,10 @@
>  classes
>  lib-ext
>  build.properties
> -configentry
>  deps
> +configentry
>  nbproject
>  build
>  .*
> -qa_output.txt
>  lib-dl
>  dist
> -bin
>
> Modified: incubator/river/jtsk/trunk/examples/hello/src/com/sun/jini/example/hello/Client.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/examples/hello/src/com/sun/jini/example/hello/Client.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/examples/hello/src/com/sun/jini/example/hello/Client.java (original)
> +++ incubator/river/jtsk/trunk/examples/hello/src/com/sun/jini/example/hello/Client.java Thu Sep  2 22:52:04 2010
> @@ -27,7 +27,6 @@ import net.jini.config.ConfigurationProv
>  import net.jini.config.NoSuchEntryException;
>  import net.jini.core.lookup.ServiceItem;
>  import net.jini.core.lookup.ServiceTemplate;
> -import net.jini.discovery.DiscoveryListenerManagement;
>  import net.jini.discovery.LookupDiscovery;
>  import net.jini.lookup.ServiceDiscoveryManager;
>  import net.jini.lookup.ServiceItemFilter;
> @@ -110,7 +109,7 @@ public class Client {
>  	} catch (NoSuchEntryException e) {
>  	    /* Default to search in the public group */
>  	    serviceDiscovery = new ServiceDiscoveryManager(
> -		(DiscoveryListenerManagement) new LookupDiscovery(new String[] { "" }, config),
> +		new LookupDiscovery(new String[] { "" }, config),
>  		null, config);
>  	}
>  
>
> Modified: incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.java (original)
> +++ incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.java Thu Sep  2 22:52:04 2010
> @@ -111,8 +111,6 @@ import java.util.StringTokenizer;
>  
>  import javax.security.auth.Subject;
>  import javax.security.auth.login.LoginContext;
> -import net.jini.discovery.DiscoveryListenerManagement;
> -import net.jini.discovery.RegistrarManagement;
>  
>  /**
>   * This class verifies that the current implementation of the 
> @@ -453,7 +451,7 @@ public class LeaseRenewDurRFE extends Ab
>  
>          /* create SDM to retrieve ref to TestService-i from lookup */
>          sdm = new ServiceDiscoveryManager
> -                                    ((DiscoveryListenerManagement) ldm, null, sysConfig.getConfiguration());
> +                                    (ldm, null, sysConfig.getConfiguration());
>      }//end setup
>  
>      /** For each separate TestService started during setup, do the following:
> @@ -1229,8 +1227,7 @@ public class LeaseRenewDurRFE extends Ab
>              outerProxy = TestServiceProxy.createTestServiceProxy
>                                            (innerProxy, proxyID, val, renewDur);
>              joinMgr = new JoinManager(outerProxy, null, serviceID,
> -                                      (DiscoveryListenerManagement) ldm, 
> -                                      null, config);
> +                                      ldm, null, config);
>          }//end doInit
>  
>          public TrustVerifier getProxyVerifier() {
>
> Modified: incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.java (original)
> +++ incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.java Thu Sep  2 22:52:04 2010
> @@ -37,8 +37,6 @@ import net.jini.core.lookup.ServiceRegis
>  import java.rmi.RemoteException;
>  import java.util.ArrayList;
>  import java.util.logging.Level;
> -import net.jini.discovery.DiscoveryListenerManagement;
> -import net.jini.discovery.RegistrarManagement;
>  
>  /**
>   * This test attempts to simulate the following race condition that
> @@ -275,7 +273,7 @@ public class LookupTaskServiceIdMapRace 
>          /* 2. Create half the SDM's and caches */
>          for (int i=0; i<(N_SDM/2); i++) {
>              ServiceDiscoveryManager sdm = new ServiceDiscoveryManager
> -                                      ( (DiscoveryListenerManagement) ldm,null,testConfig.getConfiguration());
> +                                      (ldm,null,testConfig.getConfiguration());
>              sdmList.add(sdm);
>              SDMListener l = new SDMListener(testConfig, "SDM_"+i);
>              sdmListeners.add(l);
> @@ -289,7 +287,7 @@ public class LookupTaskServiceIdMapRace 
>          /* 4. Create the remaining SDM's and caches */
>          for (int i=(N_SDM/2); i<N_SDM; i++) {
>              ServiceDiscoveryManager sdm = new ServiceDiscoveryManager
> -                                      ( (DiscoveryListenerManagement) ldm,null,testConfig.getConfiguration());
> +                                      (ldm,null,testConfig.getConfiguration());
>              sdmList.add(sdm);
>              SDMListener l = new SDMListener(testConfig, "SDM_"+i);
>              sdmListeners.add(l);
>
> Modified: incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/AbstractBaseTest.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/AbstractBaseTest.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/AbstractBaseTest.java (original)
> +++ incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/AbstractBaseTest.java Thu Sep  2 22:52:04 2010
> @@ -66,8 +66,6 @@ import java.util.HashMap;
>  import java.util.Properties;
>  
>  import net.jini.config.ConfigurationException;
> -import net.jini.discovery.DiscoveryListenerManagement;
> -import net.jini.discovery.RegistrarManagement;
>  
>  /**
>   * This class is an abstract class that acts as the base class which
> @@ -505,7 +503,7 @@ abstract public class AbstractBaseTest e
>  	    /* Construct the ServiceDiscoveryManager that will be tested */
>  	    logger.log(Level.FINE, "constructing a service discovery manager");
>  	    srvcDiscoveryMgr = new ServiceDiscoveryManager
> -		( (DiscoveryListenerManagement) getLookupDiscoveryManager(),
> +		(getLookupDiscoveryManager(),
>  		 null,  //LeaseRenewalManager
>  		 sysConfig.getConfiguration());
>  	    sdmList.add(srvcDiscoveryMgr);
> @@ -575,7 +573,7 @@ abstract public class AbstractBaseTest e
>              for(int i=0;i<sdmList.size();i++) {
>                  ServiceDiscoveryManager sdmMgr
>                                      = (ServiceDiscoveryManager)sdmList.get(i);
> -                DiscoveryListenerManagement discMgr = sdmMgr.getDiscoveryListenerManager();
> +                DiscoveryManagement discMgr = sdmMgr.getDiscoveryManager();
>                  try {
>                      logger.log(Level.FINE,
>  			 "tearDown - terminating service discovery manager "+i);
>
> Modified: incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.java (original)
> +++ incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.java Thu Sep  2 22:52:04 2010
> @@ -26,9 +26,6 @@ import net.jini.discovery.LookupDiscover
>  import net.jini.lookup.ServiceDiscoveryManager;
>  import com.sun.jini.qa.harness.QAConfig;
>  import com.sun.jini.qa.harness.TestException;
> -import net.jini.discovery.DiscoveryListenerManagement;
> -import net.jini.discovery.RegistrarManagement;
> -import net.jini.lease.LeaseRenewalManager;
>  
>  /**
>   * With respect to the lookup discovery processing performed by the
> @@ -62,15 +59,15 @@ public class DefaultDiscoverPublic exten
>          testDesc = "service discovery manager with default lookup "
>                     +"discovery manager (should discover public lookups)";
>          srvcDiscoveryMgr = 
> -	    new ServiceDiscoveryManager( (DiscoveryListenerManagement) null, 
> -					 (LeaseRenewalManager) null,
> +	    new ServiceDiscoveryManager(null, 
> +					null,
>  					config.getConfiguration());
>          sdmList.add(srvcDiscoveryMgr);
>      }//end setup
>  
>      /** Executes the current test by doing the following:
>       *  
> -     *  1. Retrieves the instance of <code>RegistrarManagement</code>
> +     *  1. Retrieves the instance of <code>DiscoveryManagement</code>
>       *     being used by the service discovery manager.
>       *  2. Retrieves the set of groups the lookup discovery manager is
>       *     configured to discover. 
> @@ -80,7 +77,7 @@ public class DefaultDiscoverPublic exten
>       *           <code>null</code> if the test was successful.
>       */
>      protected void applyTestDef() throws Exception {
> -        DiscoveryListenerManagement dm = srvcDiscoveryMgr.getDiscoveryListenerManager();
> +        DiscoveryManagement dm = srvcDiscoveryMgr.getDiscoveryManager();
>          if( !(dm instanceof LookupDiscoveryManager) ) {
>          throw new TestException(" -- default lookup discovery manager is not "
>  				+"an instance of "
>
> Modified: incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.java
> URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.java?rev=992144&r1=992143&r2=992144&view=diff
> ==============================================================================
> --- incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.java (original)
> +++ incubator/river/jtsk/trunk/qa/src/com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.java Thu Sep  2 22:52:04 2010
> @@ -33,8 +33,6 @@ import net.jini.lookup.ServiceDiscoveryM
>  import java.rmi.RemoteException;
>  import com.sun.jini.qa.harness.QAConfig;
>  import com.sun.jini.qa.harness.TestException;
> -import net.jini.discovery.DiscoveryListenerManagement;
> -import net.jini.discovery.RegistrarManagement;
>  
>  /**
>   * This class verifies that the <code>addListener</code> method of
> @@ -86,7 +84,7 @@ public class AddListenerNPE extends Abst
>  				       null,
>  				       sysConfig.getConfiguration());
>          srvcDiscoveryMgr = 
> -	    new ServiceDiscoveryManager((DiscoveryListenerManagement) discoveryMgr,
> +	    new ServiceDiscoveryManager(discoveryMgr,
>  					null,
>  					sysConfig.getConfiguration());
>          sdmList.add(srvcDiscoveryMgr);
>
>
>
>   


Re: svn commit: r992144 - in /incubator/river/jtsk/trunk: ./ examples/hello/src/com/sun/jini/example/hello/ qa/src/com/sun/jini/test/impl/joinmanager/ qa/src/com/sun/jini/test/impl/servicediscovery/event/ qa/src/com/sun/jini/test/spec/servicediscovery/ qa/...

Posted by Peter Firmstone <ji...@zeus.net.au>.
Patricia Shanahan wrote:
> On 9/2/2010 6:03 PM, Peter Firmstone wrote:
>>     * PortableServiceRegistrar - this was a new interface for the
>>       current Reggie implementation to use for JavaCDC personal basis
>>       profile proxy's.  This should probably be abandoned.
>>     * RegistrarManagement - API mirroring DiscoveryManagement allowing
>>       compatibility with Java CDC, this too should probably be 
>> abandoned.
>>     * DiscoveryListenerManagement - a new interface for a Java CDC River
>>       profile, this too should probably be abandoned.
>
> I am going to work on my SDM concurrency testing on the assumption 
> that these changes will be abandoned. It looks as though the remaining 
> SDM constructors all use DiscoveryManagement, which is deprecated. Is 
> it going to be un-deprecated?
>
> Patricia
>
Yes.


Re: svn commit: r992144 - in /incubator/river/jtsk/trunk: ./ examples/hello/src/com/sun/jini/example/hello/ qa/src/com/sun/jini/test/impl/joinmanager/ qa/src/com/sun/jini/test/impl/servicediscovery/event/ qa/src/com/sun/jini/test/spec/servicediscovery/ qa/...

Posted by Patricia Shanahan <pa...@acm.org>.
On 9/2/2010 6:03 PM, Peter Firmstone wrote:
>     * PortableServiceRegistrar - this was a new interface for the
>       current Reggie implementation to use for JavaCDC personal basis
>       profile proxy's.  This should probably be abandoned.
>     * RegistrarManagement - API mirroring DiscoveryManagement allowing
>       compatibility with Java CDC, this too should probably be abandoned.
>     * DiscoveryListenerManagement - a new interface for a Java CDC River
>       profile, this too should probably be abandoned.

I am going to work on my SDM concurrency testing on the assumption that 
these changes will be abandoned. It looks as though the remaining SDM 
constructors all use DiscoveryManagement, which is deprecated. Is it 
going to be un-deprecated?

Patricia