[
https://issues.apache.org/jira/browse/HADOOP-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrian Woodhead updated HADOOP-2268:
------------------------------------
Attachment: HADOOP-2268-2.patch
Code review of this patch please.
I have not added extra methods with different names as it's not as simple as
just the depending jobs - in JobControl.java there is the same issue with
getReadyJobs, getSuccessfulJobs and getFailedJobs.
What I have done is as follows:
Job.java
Changed all ArrayList to List<Job>. This shouldn't have much of an impact on
existing code except for the getDependingJobs method (this was only added in
the last release so I don't know how much it is being used).
ValueAggregatorJob.java
Changed all ArrayList to List<Job>.This class didn't need to be changed (no
compile errors), I just did it to be consistent.
JobControl.java
Changed all Hashtable for job collections to Maps. These only appear to be used
internally by private methods so this should have no impact on other code.
Changed all methods returning ArrayList<Job> to return List<Job> (this might
impact existing code, but it is a really easy fix, just changing the type of
whatever you are assigning the result to).
So, I think this cleans up these classes to adhere to the "program to the
interface not the implementation" principle, it is up to you guys to decide
whether you want to do this directly or whether you want to deprecate old
methods, introduce new ones etc. If you go for the latter I'm not sure what
good names would be for the getReadyJobs, getSuccessfulJobs and getFailedJobs
methods.
> Job.java should expose jobs as Lists rather than ArrayLists
> -----------------------------------------------------------
>
> Key: HADOOP-2268
> URL: https://issues.apache.org/jira/browse/HADOOP-2268
> Project: Hadoop
> Issue Type: Improvement
> Components: mapred
> Affects Versions: 0.15.0
> Reporter: Adrian Woodhead
> Assignee: Adrian Woodhead
> Priority: Minor
> Fix For: 0.16.0
>
> Attachments: HADOOP-2268-1.patch, HADOOP-2268-2.patch
>
>
> See HADOOP-2202 for background on this issue. Arun C. Murthy agrees that when
> possible it is preferable to program against the interface rather than a
> concrete implementation (more flexible, allows for changes of the
> implementation in future etc.) JobControl currently exposes running, waiting,
> ready, successful and dependent jobs as ArrayList rather than List. I propose
> to change this to List.
> I will code up a patch for this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.