[
https://issues.apache.org/jira/browse/HADOOP-11903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14615618#comment-14615618
]
Colin Patrick McCabe commented on HADOOP-11903:
-----------------------------------------------
While I agree that DefaultResourceCalculator, DefaultContainerExecutor, and
DefaultCodec were poorly named, it seems like somewhat of a leap to think that
any class named "Default\[something\]" is poorly named. You could easily have
a package-private class which really ought to be named DefaultWhatever, inside
the whatever module. Not everything in Hadoop is an API or a pluggable class.
For example, {{DefaultINodeAttributesProvider.java}} is a reasonable and
well-named class used internally in the NameNode.
If people really strongly feel that these kind of class names have been abused
in the past, maybe this is ok, but maybe it would be more productive to have a
discussion on the mailing list about how we should improve our code review
process. It's very important to think about how configuration will evolve in
the future, and that takes a lot more thought to get right than just a regex on
a diff.
> test-patch should fail any new classes called Default-foo
> ---------------------------------------------------------
>
> Key: HADOOP-11903
> URL: https://issues.apache.org/jira/browse/HADOOP-11903
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: yetus
> Affects Versions: HADOOP-12111
> Reporter: Allen Wittenauer
> Assignee: Kengo Seki
> Attachments: HADOOP-11903.HADOOP-12111.00.patch
>
>
> In the past, we've named things like DefaultResourceCalculator,
> DefaultContainerExecutor, and DefaultCodec that do nothing but cause problems
> down the road since they are effectively version and functionality locked
> forever. If these examples had been named what they truly were (e.g.,
> MemoryResourceCalculator, SimpleContainerExecutor, and GZipCodec), the
> defaults could then be changed in the future in a compatible way.
> One way to enforce this is to prevent the creation of new classes called
> Default-anything.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)