[ 
https://issues.apache.org/jira/browse/HADOOP-16102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16770125#comment-16770125
 ] 

Todd Owen commented on HADOOP-16102:
------------------------------------

Alright I see your point. The issue, I think, is that it's difficult to provide 
a default implementation of {{getScheme}}, because the correct behavior depends 
on how subclasses of FilterFileSystem are implemented. For example, is {{fs}} 
set when the class is constructed, or when it is initialized? Is the intention 
of the subclass to act as a _transparent_ filter (in which case it makes sense 
to return the scheme of the underlying FS), or is it meant to _hide_ the 
details of the underlying FS? FilterFileSystem itself is not opinionated about 
these questions.

Throwing {{UnsupportedOperationException}} may indeed be the only reasonable 
implementation for the base class to provide.

So the solution is that subclasses of FilterFileSystem should override 
{{getScheme}} with an appropriate implementation.

It might have been useful to make {{getScheme}} an abstract method instead, but 
it's too late to change it at this point.

> FilterFileSystem does not implement getScheme
> ---------------------------------------------
>
>                 Key: HADOOP-16102
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16102
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>            Reporter: Todd Owen
>            Priority: Minor
>
> Calling {{getScheme}} on a {{FilterFileSystem}} throws 
> {{UnsupportedOperationException}}, which is the default provided by the base 
> class. Instead, it should return the scheme of the underlying ("filtered") 
> filesystem.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to