hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HADOOP-12973) make DU pluggable
Date Thu, 07 Apr 2016 18:32:25 GMT

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

Mime
View raw message