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

Chris Douglas commented on MAPREDUCE-1376:
------------------------------------------

bq. I feel , it is clean . I have added more code for creation of staging 
directories in it so I thought TestGridmixSubmission was getting really big 
with some reusable components . I think we might use those components again in 
future.

Code written with {{\*Util}} classes tends to be difficult to read and the 
tenuous dependencies between tests created through these classes are avoidable. 
Concerning its content, other than boilerplate {{MiniMRCluster}} code (which 
must be called in the same, boilerplate way from the test) and the one-line 
{{changePermission}}, there's only {{createHomeAndStagingDirectory}}, which 
calls back to the {{TestGridmixSubmission}} {{LOG}} field, anyway. But OK.

bq. parseUserList is only being used by RoundRobinUserResolve to iam leaving 
the interface as it is.

Abstract classes are generally easier to evolve than interfaces- and creating 
new {{UserResolvers}} without rewriting the parser or depending on 
{{RoundRobinUserResolver}} is a pleasant property- but OK. Making 
{{parseUserList}} protected would at least allow subclasses of RRUR to share 
the parsing code.

* There is some commented-out code in {{TestGridmixSubmission}}:
{noformat}+//    
GridmixTestUtils.createHomeAndStagingDirectory((JobConf)conf);{noformat}
* There is a javadoc error since {{parseUserList}} is moved:
{noformat}+   * listing target users. The format of this file is defined by 
{...@link
+   * #parseUserList}.{noformat}
* Many javadoc comments seem to include {{</p>}} at random
* Many of the exception and log messages start with spaces, e.g. {{" Could not 
run job submitted "}}, which is not conventional. Please don't do this. There 
are also many spelling errors in the messages, e.g. {{LOG.error(" EXCEPTOIN in 
availableSlots ", e);}}
* Should jobs be submitted with ACLs so that the statistics can be viewed by 
the submitting user? This would allow statistics, etc. to be collected without 
requiring a {{doAs}} block, right?
* {{GridmixJob::call}} can declare the exceptions it will throw instead of 
catching everything and returning null. This is true of all the 
{{PrivilegedExceptionAction}} uses, including the {{doAs}} calling 
{{Gridmix::runJob}}, which can have a signature narrower than {{Exception}}
* {{TestGridmixSubmission::doSubmission}} should take a 
{{GridmixJobSubmissionPolicy}} as an argument, rather than setting a static and 
calling the method from each submission type.

+1 Overall. None of these need to block commit, but please attend to them as 
part of either the Apache patch or concurrently with related work.

> Support for varied user submission in Gridmix
> ---------------------------------------------
>
>                 Key: MAPREDUCE-1376
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1376
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: contrib/gridmix
>            Reporter: Chris Douglas
>            Assignee: Chris Douglas
>         Attachments: 1376-2-yhadoop-security.patch, 
> 1376-3-yhadoop20.100.patch, 1376-4-yhadoop20.100.patch, 
> 1376-5-yhadoop20-100.patch, 1376-yhadoop-security.patch, M1376-0.patch, 
> M1376-1.patch, M1376-2.patch, M1376-3.patch, M1376-4.patch
>
>
> Gridmix currently submits all synthetic jobs as the client user. It should be 
> possible to map users in the trace to a set of users appropriate for the 
> target cluster.

-- 
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