Dennis Reedy wrote:
On Apr 5, 2013, at 956PM, Peter wrote:

We can't afford to hold up 2.3.0 much longer, the 2.2.0 release has numerous 
synchronization bugs, these will become more apparent on multicore hardware.  
The longer we wait the more likely they'll present in deployed systems.

The latest branch is in skunk/qa-refactoring, I encourage anyone to jump in and 
help.  We're currently investigating replacing TaskManager.  This branch passes 
all TCK tests, we just need to fix remaining synchronization issues.

Because changes have a ripple effect, one fix will expose other bugs because execution paths change. It's probably better that we fix these issues while the build is monolithic, otherwise there are more possible combinations that would require additional integration testing. I proposed a modular build 2 years ago, but developers were divided over it at that time.

I'm all for this [1] It's straight forward, mostly grunt work to break out the 
modules and make sure everything builds and works. The big question is whether 
the project can stomach Maven or not. That being said, just need to know what 
branch you want me to base River modularization on and I'll start. However, 
before that effort starts we need a release of what is out now.


Ok, lets look at it again after 2.3.0. BTW your artifact: URI is RFC3986 compliant, it's actually URN syntax (apologies for the slow answer). Previously codebase annotations were space delimited URL, but they've been change to space delimited RFC3986 compliant URI in 2.3.0. This change was made because the codebase URL's were used as key's in Map, so the DNS cache was consulted for every hashCode call.

BTW, how does the ClassLoader hierarchy work with Maven and smart proxy's?

Something else I thought was worth mentioning was a package names for ServiceAPI should be different than their implementations, to avoid issues with sealed packages existing in different ClassLoader's.

I've fixed all the findbugs issues, has anyone used JPF?

JPF?


Java Path Finder

http://babelfish.arc.nasa.gov/trac/jpf/

I'm going to try this after we've fixed TaskManager.

A TaskManager fix or replacement with Executors? Was just looking for usages of 
runAfter(), initial look seems the only use is in ServiceDiscoveryManager. So 
is runAfter() a YAGNI issue?

It's much more prevalent than that.

See https://issues.apache.org/jira/secure/attachment/12577348/TaskManager_uses.pdf for more details.

I figured if we tackle the most complex use cases first, since these are more likely to produce errors, then leave the simple cases that don't use runAfter until after the next release.

Regards,

Peter.

Regards

Dennis

1. https://github.com/DawidLoubser/blitz-javaspaces-modularised



Reply via email to