Think to some modification to the API
-------------------------------------
Key: HADOOP-3482
URL: https://issues.apache.org/jira/browse/HADOOP-3482
Project: Hadoop Core
Issue Type: Improvement
Reporter: Brice Arnould
Priority: Minor
I know that it is out of question to break everything just for minor comfort
improvements.
But I think that we should evaluate the cost of improving the API, and the way
we might do this without too much breaks, before the API freeze of 1.0 . If we
start now, it could be a gradual process that would end only with the 1.0
release.
I do not particulary focus on those modifications, but here is a samples of
what questions I would like to raise.
# Text could provide a append(Text other) method
# Text could implements CharSequence
# Some Iterators could be turned into IterableIterators.
# We could consider a more consistent naming (Text could be renamed
TextWritable, JobConfigurable.configure() could be turn in
JobConfigurable.setConf() to match Configurable and so on)
1. and 2. seems imediatly accessible, even if 1. would benefit of the use of a
resizable container to store bytes.
3. requires in theory only the add of a new IterableIteror class inheriting of
Iterator. But making that change visible to the user would require a change in
some interface like Mapper and Reducer.
4. *Configurable:* If those Interfaces are only used in the ReflectionUtils, it
would be enough to deprecate JobConfigurable and to consider it as a particular
case of Configurable. Another option would be to deprecate both and to add
support in newInstance for passing parameters to constructors.
*Text:* Text could be an empty class inheriting of TextWritable, in a package
like org.hadoop.compat .
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.