river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patricia Shanahan <p...@acm.org>
Subject Re: Request for testing help
Date Wed, 22 Sep 2010 14:59:48 GMT
I've already started on TaskManager testing and benchmarking in 
isolation. My next sub-project will be to work on that some more.

I also want to construct unit tests of the more complicated TaskManager 
clients, JoinManager and ServiceDiscoveryManager. I'm particularly 
concerned about retries of those RetryTask subclasses that are involved 
in runAfter dependencies. The last time I checked, we were getting one 
instance of that in the whole QA suite, nowhere near enough.

Patricia


Jonathan Costers wrote:
> I will test the revision you requested on Windows later tonight.
> It'll take a while though, as you are aware.
> 
> Actually, I noticed that a lot of the service QA tests contain code that
> uses TaskManager, so I think by running the complete QA suite, you are
> implicitely testing TaskManager.
> I haven't looked into it too deep, but that was my impression going through
> the tests (fixing javadoc tags, lol)
> 
> It would be great, however, to have (a/some) unit test(s) that test
> TaskManager behaviour in isolation as well. I know, its not that straight
> forward ... But still it would be great :-)
> 
> 2010/9/22 Patricia Shanahan <pats@acm.org>
> 
>> YES, PLEASE! Code reviews are a good thing in any case, and this is my
>> first open source, Apache, or River coding effort, so there may be style
>> issues.
>>
>> My big picture objective is to improve the scalability of TaskManager, as a
>> response to https://issues.apache.org/jira/browse/RIVER-344.
>>
>> It was doing a lot of O(n) operations, mainly due to the use of an
>> ArrayList to represent essentially a FIFO. Those O(n) operations are doubly
>> bad news for scalability because they are done under synchronization. I've
>> reduced many of them to O(log n) by replacing the ArrayList with a TreeSet
>> and PriorityBlockingQueue, both in order of arrival, the same order as the
>> original ArrayList.
>>
>> I may implement finer scale optimizations later, such as replacing
>> synchronization with atomic operations. However, in my experience it is
>> important to get the data structures and algorithms right first.
>>
>> Unfortunately, as far as I can tell, even with Jonathan's heroic
>> test-enabling efforts, I don't think we have a good TaskManager scalability
>> test, or a test of the concurrent behavior of its clients.
>>
>> Patricia
>>
>>
>>
>> On 9/22/2010 7:16 AM, Tom Hobbs wrote:
>>
>>> I'm happy to do some code reviews.  I can't run any tests though, I don't
>>> have any access to any Windows machines.
>>>
>>> Let me know if this would be useful, and I'll check those revisions out.
>>>
>>> On Tue, Sep 21, 2010 at 10:33 PM, Patricia Shanahan<pats@acm.org>  wrote:
>>>
>>>  I'm testing my new TaskManager the , but I have some anomalies. It would
>>>> help me to get some more testing of
>>>>
>>>> https://svn.apache.org/repos/asf/incubator/river/jtsk/skunk/patsTaskManagerdonein
other WindowsXP environments.
>>>>
>>>> Both the head revision and revision  998737 need to be tested. Revision
>>>> 998737 is the one I plan to merge into the trunk. It changes the
>>>> interface
>>>> between TaskManager and its callers, with minimal changes to TaskManager.
>>>>
>>>> It is important that it be tested widely, because it affects a lot of
>>>> critical classes, and would be difficult to back out.
>>>>
>>>> The head revision drops in a revised TaskManager. It should be easy to
>>>> back
>>>> out if necessary.
>>>>
>>>> Patricia
>>>>
>>>>
> 


Mime
View raw message