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

Steve Loughran commented on HADOOP-9565:
----------------------------------------

Linking to HDFS-11644, which relates to something similar for exposing 
capabilities of specific streams. As well as covering syncable-ness (v. 
important for HBase), we could share some other facts about the streams.

I had a talk with Mingliang about this yesterday, explained why I like strings 
over enums

# not brittle to versions: code build against, say, Hadoop 3.1.3 could still 
probe Hadoop 3.1.1 for a feature only added in Hadoop 3.1.2
# lets specific filesystems declare specific capabilities without having to 
make changes in the base class.

Looking at the recent patches, though: over complex. I'm now considering

# just use a Configuration(false) object as a way of declaring behaviour
# something equivalent to contract-test-options.xml for each FS, using a naming 
scheme like "fs.feature.*; different stores could add their own, e.g. 
"fs.s3a.feature.consistent"". 
# pull out anything for validating feature sets into a helper class
# make the probe {{hasFeature(path, feature)}} so that filesystems which relay 
FS calls (e.g. viewfs, webhdfs) can propagate the probe.

> Add a Blobstore interface to add to blobstore FileSystems
> ---------------------------------------------------------
>
>                 Key: HADOOP-9565
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9565
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs, fs/s3, fs/swift
>    Affects Versions: 2.6.0
>            Reporter: Steve Loughran
>            Assignee: Thomas Demoor
>         Attachments: HADOOP-9565-001.patch, HADOOP-9565-002.patch, 
> HADOOP-9565-003.patch, HADOOP-9565-004.patch, HADOOP-9565-005.patch, 
> HADOOP-9565-006.patch, HADOOP-9565-008.patch, HADOOP-9565-branch-2-007.patch
>
>
> We can make the fact that some {{FileSystem}} implementations are really 
> blobstores, with different atomicity and consistency guarantees, by adding a 
> {{Blobstore}} interface to add to them. 
> This could also be a place to add a {{Copy(Path,Path)}} method, assuming that 
> all blobstores implement at server-side copy operation as a substitute for 
> rename.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to