[
https://issues.apache.org/jira/browse/HADOOP-17028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17358592#comment-17358592
]
Steve Loughran commented on HADOOP-17028:
-----------------------------------------
bq. It looks like Steve Loughran deprecated this class later after his comment.
Don't know what prompted the refactoring, but
{{org.apache.hadoop.fs.impl.FunctionsRaisingIOE.FunctionRaisingIOE}} should be
now {{org.apache.hadoop.util.functional.FunctionRaisingIOE}}
I moved it because it turns out that wrapping/unwrapping IOEs is critical to
using this in applications using the FS API, and since the relevant
methods/interfaces were not public, the only way to do that is to have them
public.
Accordingly I
# replicated the functional interfaces in the public/unstable package
{{org.apache.hadoop.util.functional}} where I'm trying to make it possible to
use IOE-raising stuff (including RemoteIterator) in apps.
# tagged the old ones, as Deprecated, so new code will use it.
bq. Moving interfaces, which are public by default, from one package to another
is considered an incompatible change, especially since the previous variant had
been released
Two points to note
# I tagged the original package "Fs.impl" as not public then, isn't it?
# left the old interface alone, on the basis that if filesystems outside the
hadoop codebase (gcs?) were using them, all would be good.
{code}
@InterfaceAudience.LimitedPrivate("Filesystems")
@InterfaceStability.Unstable
{code}
therefore, I do not consider this to be an incompatible change since
# it wasn't public, outside filesystems
# it hasn't been removed, just deprecated.
bq. I prefer to avoid using FunctionRaisingIOE in this patch if possible
Use the o.a.h.fs.impl for compatibility across Hadoop 3.3+
For older releases, no, it's not there. Not sure what to do there.
> ViewFS should initialize target filesystems lazily
> --------------------------------------------------
>
> Key: HADOOP-17028
> URL: https://issues.apache.org/jira/browse/HADOOP-17028
> Project: Hadoop Common
> Issue Type: Bug
> Components: client-mounts, fs, viewfs
> Affects Versions: 3.2.1
> Reporter: Uma Maheswara Rao G
> Assignee: Abhishek Das
> Priority: Major
> Labels: pull-request-available
> Time Spent: 5h 20m
> Remaining Estimate: 0h
>
> Currently viewFS initialize all configured target filesystems when
> viewfs#init itself.
> Some target file system initialization involve creating heavy objects and
> proxy connections. Ex: DistributedFileSystem#initialize will create DFSClient
> object which will create proxy connections to NN etc.
> For example: if ViewFS configured with 10 target fs with hdfs uri and 2
> targets with s3a.
> If one of the client only work with s3a target, But ViewFS will initialize
> all targets irrespective of what clients interested to work with. That means,
> here client will create 10 DFS initializations and 2 s3a initializations. Its
> unnecessary to have DFS initialization here. So, it will be a good idea to
> initialize the target fs only when first time usage call come to particular
> target fs scheme.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]