[
https://issues.apache.org/jira/browse/HADOOP-12973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230762#comment-15230762
]
Colin Patrick McCabe edited comment on HADOOP-12973 at 4/7/16 6:31 PM:
-----------------------------------------------------------------------
bq. It makes it more obvious when someone overrides the class where things are.
Hmm. How about making the class {{final}} instead?
Re: {{DU}} versus {{WindowsDU}}. If you really want to separate the classes, I
don't object, but I don't want the {{WindowsDU}} to be a subclass of the Linux
{{DU}}. That is just weird.
bq. Shutdown is needed. So it's very strange to have a shutdown without a start.
There is a start-- in {{GetSpaceUsedBuilder}}. Having an "init" method that
you have to call after initialization is an anti-pattern. There is no reason
why the user should have to care whether {{GetSpaceUsedBuilder}} contains a
thread or not-- many implementations won't need a thread. The fact that not
all subclasses need threads is a good sign that thread management doesn't
belong in the common interface.
I'm also curious how you feel about the idea of making the interface
{{Closeable}}, as we've done with many other interfaces such as
{{FailoverProxyProvider}}, {{ServicePlugin}}, {{BlockReader}}, {{Peer}},
{{PeerServer}}, {{FsVolumeReference}}, etc. etc.
was (Author: cmccabe):
bq. It makes it more obvious when someone overrides the class where things are.
Hmm. How about making the class {{final}} instead?
Re: DU versus WindowsDU. If you really want to separate the classes, I don't
object, but I don't want the WindowsDU to be a subclass of the Linux DU. That
is just weird.
bq. Shutdown is needed. So it's very strange to have a shutdown without a start.
There is a start-- in GetSpaceUsedBuilder. Having an "init" method is an
anti-pattern.
> make DU pluggable
> -----------------
>
> Key: HADOOP-12973
> URL: https://issues.apache.org/jira/browse/HADOOP-12973
> Project: Hadoop Common
> Issue Type: Sub-task
> Reporter: Elliott Clark
> Assignee: Elliott Clark
> Attachments: HADOOP-12973v0.patch, HADOOP-12973v1.patch,
> HADOOP-12973v10.patch, HADOOP-12973v2.patch, HADOOP-12973v3.patch,
> HADOOP-12973v5.patch, HADOOP-12973v6.patch, HADOOP-12973v7.patch,
> HADOOP-12973v8.patch, HADOOP-12973v9.patch
>
>
> If people are concerned about replacing the call to DU. Then an easy first
> step is to make it pluggable. Then it's possible to replace it with something
> while leaving the default alone.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)