Patricia Shanahan wrote:
On 9/11/2010 10:49 PM, Peter Firmstone wrote:
Patricia Shanahan wrote:
On 9/11/2010 7:56 PM, Peter Firmstone wrote:
...
3. Doesn't yet contain the TaskManager improvements.
...
I'll add the changes in 3 & 4, then run the tests again.
...
I'm worried about improving TaskManager without resolving a RetryTask
issue first. I think we may be being protected from concurrency bugs
by a tendency in TaskManager to go single runner thread when there are
runAfter dependencies.
Ok, I won't add the TaskManager change, so you can experiment with it.
What about the ServiceDiscoveryManager patch?
As far as I can tell, the SDM patch is a good thing, fixing a bug.
I have a general concern with the level of concurrency testing for
both SDM and JoinManager, but the only thing I can do about that is
try to write some more tests, which I am doing.
The problem is the status of a RetryTask that fails and is scheduled
for retry. As far as I can tell, it is off the TaskManager books, and
there is nothing preventing dependent tasks from getting ahead of it.
I don't know whether that is safe behavior.
There should be a FINEST log message whenever there is a retry. So
far, I have not seen it, though that may be a problem with my attempts
to turn up the logging level in RetryTask. I have no assurance that
retries are being tested.
Lets see what we can do to get some good logging output (I'm looking
into RetryTask's logging), then you can look at making some changes,
feel free to play around in the skunk/pepe branch, commit changes etc,
it's experimental, you can't hurt it.
I'm thinking of creating a branch for TaskManager work.
My current tests are running with FINEST enabled, they might show up
some RetryTask log messages, I'll check & let you know when they're
complete.
Excellent. Even an absence of retry messages would be useful
information, meaning that we are not testing retries.
Good news, although repeat testing (with RetryTask logging set to
FINEST) is still underway, I'm getting a number of hits:
bash-3.00$ grep "retry of" out2.txt
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1fddc31 in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1fddc31 in 30,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@ce2187 in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@ce2187 in 30,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1c80b01 in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1e3cd51 in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@bc8e1e in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@128f6ee in 4,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@b5dac4 in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@10045eb in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f01a1e in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@142a80d in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@139b78e in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@10045eb in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 9,997 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@142a80d in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f01a1e in 9,994 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@139b78e in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f01a1e in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@142a80d in 19,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@139b78e in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 30,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@142a80d in 29,997 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@139b78e in 29,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 60,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@139b78e in 60,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@d81784 in 120,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1d256fa in 4,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@16bd8ea in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1d256fa in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@16bd8ea in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1d256fa in 19,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@16bd8ea in 19,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@193385d in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f4f44a in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@193385d in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f4f44a in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@193385d in 19,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f4f44a in 20,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@f4f44a in 30,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@193385d in 30,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@94884d in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1f6df4c in 5,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@94884d in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1f6df4c in 10,000 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@1f6df4c in 19,999 ms
[java] FINEST: retry of
net.jini.discovery.lookuplocatordiscovery$discoveryt...@94884d in 19,999 ms
[java] FINEST: retry of
net.jini.lookup.joinmanager$proxyregt...@13f7281 in 4,999 ms
I can run tests if you need me to, just svn commit your changes to
skunk, testing on different architectures might help to flush out the
concurrency issues.
In the mean time, I'll look at making a trunk replacement in another svn
directory, without experimental code, then if everyone's happy with it,
we can make it the official trunk.
Regards,
Peter.