I'm happy to accept whatever release version number that the committers decide 
when that time comes.

I think it best to narrow our focus for now on how to proceed with the release 
process. 

Regards,

Peter.

----- Original message -----
> 
> The way that services are instantiated and setup is an implementation
> detail.   When I think of compatibility I think of the API and the lookup
> methods.   We think of compatibility from a client point of view.   From
> the client point of view, using a service looks like this:
> 
>     - Use multicast of unicast discovery to find one or more
> ServiceRegistrar instances    - Call lookup(…) on one or more of these
> instances to get a set of service candidates    - Choose a candidate and
> prepare() it using a ProxyPreparer, to yield a usable service proxy.    -
> Make calls on it.   Ideally hang on to this proxy instance, so you can
> skip the discovery and lookup next time you need it.    - If the call
> fails, repeat the lookup (and possibly discovery) til you get a proxy
> that works.
> 
> Nowhere does the client need to know whether the service instance is
> started up using the “com.sun.jini.start” mechanism, your Commission
> interface, some other IOC container (Rio, Harvester, Seven or
> RiverContainer) or some unknown mechanism that starts with a static
> main() method.
> 
> JSK2.0 was 2.0 because of the introduction of the proxy verification
> mechanisms, as well as JERI.   Absent some new client usage mechanism,
> River doesn’t need to go to 3.0.
> 
> Cheers,
> 
> Greg.
> 
> 
> 
> On Dec 17, 2013, at 1:58 PM, Peter <j...@zeus.net.au> wrote:
> 
> > I think changing services to use safe construction techniques is
> > enough to cause the version jump.
> > 
> > At this point I've allowed services to continue unsafe construction
> > practices, while logging a SEVERE warning when the Commission
> > interface isn't implemented, rather than fail.
> > 
> > This is a fundamental change to the way services are written.
> > 
> > Regards,
> > 
> > Peter.
> > 
> > ----- Original message -----
> > > 
> > > Assuming that there aren’t major incompatibilities, I think that
> > > would be a “minor” version change according to our versioning
> > > policy, so we’d be looking at the “2.3” branch rather than a “3.0”
> > > release.
> > > 
> > > I’m still unnerved by the massive amounts of changes to both code and
> > > tests in the qa_refactor branch, as well as the apparent instability
> > > of the code, although that seems to be improving.     In the next few
> > > weeks I’m going to try and setup a cross-test case, to see what the
> > > “2.2” tests say about the potential “2.3” release and vice-versa.
> > > 
> > > I think what I’d really like to see is an incremental approach where
> > > we update limited components of the “2.2” branch, one at a time.   
> > > Is there anything that we could pull out piecemeal?     Maybe it would
> > > make sense to split out the infrastructure services, like Reggie,
> > > Mahalo, and Outrigger into different sub-projects that could be
> > > updated separately?     
> > > 
> > > Any thoughts?
> > > 
> > > Greg.
> > > 
> > > On Dec 17, 2013, at 5:03 AM, Peter <j...@zeus.net.au> wrote:
> > > 
> > > > When the qa_refactor branch stabilises, I plan to merge trunk and
> > > > provide a beta release for client compatibility testing.
> > > > 
> > > > Changes made have been focused on making our code thread safe,
> > > > there are significant changes internally, the public api remains
> > > > focused on backward compatibility, however it is advisable that
> > > > client services adopt new safe construction techniques for
> > > > services and implement the new Commission interface.
> > > > 
> > > > What's a suitable test period for client testing?
> > > > 
> > > > Regards,
> > > > 
> > > > Peter.
> > > 
> > 
> 

Reply via email to