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