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