[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877740#action_12877740
 ] 

Balaji Rajagopalan commented on MAPREDUCE-1854:
-----------------------------------------------

changing visibility from 'package private' to 'public' for testing purpose 
isn't advisable. Consider injecting a getter with public access 

The tasktrackerStatus is a writable object, should'nt the inner class of 
writable object be
public for others to use, I understand we don't want to change permission of 
jobtracker or
tasktracker, but tasktrackerStatus is a writable object which can be streamed 
across the wire,
but if you still insist I will have aspect hooks to make the inner class 
methods public. 

using StringBuffer to append a couple of tokens and convert the result to a new 
String seems excessive. Why not to use String? 
I used stringbuffer for appends, since each time a new string object is 
created, and temporary
object is discarded a new string object is created, and I thought if I use 
string then people
will comment why not use stringbuffer since it avoids all the temporary object 
creations :(. 

Do agree with you AbstractTestCase methods looks more of a helper, will move it 
a static
helper than have it part of parent hierarchy, I was in a dilemma on how to do 
this myself.
My real intention of having abstract parent class is have common functionality 
that can be
shared among all the test cases, which can be reused easily. 

The changes to the abstractdaemoncluster are related to the patch, because the 
health script automation 
validates that a single task tracker should be stopped/started instead of 
stopping and starting the
whole cluster. 

I do agree DaemonProtocolAspect.aj is not related to the patch, it was same fix 
vinay mentioned,
but I had to have that code to make the test case pass. So I will remove this 
from my subsequent patch. 
Also I will have to put an dependency on the vinay's jira meaning I can only 
check in my patch 
after he completes his changes and checks it in. 
 Also I am planning to break the individual  test methods to seperate classes 
since the test occasionally timesout. 

The clusterprocessmanager, defined the iterface method to get a daemon process 
given the hostname, 
HadoopDaemonRemoateCluster provides the implemetation, for the interface. The 
pushConfig in 
Remote Process was not returning the newConf Dir, now I need to return that 
since health script
selectively restarts a particual daemon. So it is all related to the health 
script patch. 

> [herriot] Automate health script system test
> --------------------------------------------
>
>                 Key: MAPREDUCE-1854
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1854
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: test
>         Environment: Herriot framework
>            Reporter: Balaji Rajagopalan
>            Assignee: Balaji Rajagopalan
>         Attachments: health_script_5.txt
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> 1. There are three scenarios, first is induce a error from health script, 
> verify that task tracker is blacklisted. 
> 2. Make the health script timeout and verify the task tracker is blacklisted. 
> 3. Make an error in the health script path and make sure the task tracker 
> stays healthy. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to