On 8/21/2010 11:11 AM, Patricia Shanahan wrote:
On 8/21/2010 5:31 AM, Peter Firmstone wrote:
Patricia Shanahan wrote:
On 8/20/2010 11:10 PM, Peter Firmstone wrote:
Patricia Shanahan wrote:
Peter Firmstone wrote:
Patricia Shanahan wrote:
As indicated in the "TaskManager Progress" thread, I think, based on
reading the source code, that there is a concurrency bug in
ServiceDiscoveryManager.LookupCacheImpl's addProxyReg method.

I added logging to see which tests I should run to evaluate a fix.
As far as I can tell, the automated system contains a single test
that creates a ServiceDiscoveryManager, LeaseRenewDurRFE, and it
does not appear to use addProxyReg.

Are there any tests in addition to the QA and JTreg tests that might
cover this?

No, not in addition unfortunately.

I didn't really expect there would be, but it was worth asking.

I'm now working on an SDM concurrency test - essentially writing stubs
for the classes it interacts with, so that I can control the timing of
events. I want to hit it with a lot of different activity at the same
time.

Is there any existing code that would help with that task?

Patricia

Any of the existing qa or jtreg tests that relate to the SDM would be a
good start.

Not sure which I'd pick though.

I've found why I was not finding ServiceDiscoveryManager tests. "ant
qa.run" in the build directory, which is how I was running QA tests,
runs specified categories:
"id,loader,policyprovider,locatordiscovery,activation,config,discoverymanager,joinmanager,url,iiop,jrmp,reliability,thread"



Why not servicediscovery????

Patricia

Well I'll be b...., didn't pick that up, how strange, running
servicediscovery now, although not with your patches, I'll try that
tomorrow.

I'm running the servicediscovery tests against a modified version of
ServiceDiscoveryManager that has a couple of short sleep calls in
addProxyReg. It has reported several failures. I would be very
interested in what failures, if any, you get with an unpatched SDM. If
your version does not fail we have a real test coverage problem. If your
version gets similar failures, we just have a problem with not running
tests we have.

I should perhaps mention that if my sleep calls are triggering the failures, they are almost certainly due to the concurrency problem I found by inspection, which is very easy to fix. The difficult part is finding a test to verify the fix.

Patricia

Reply via email to