You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Lei (Eddy) Xu (JIRA)" <ji...@apache.org> on 2015/07/03 03:33:06 UTC

[jira] [Commented] (HADOOP-9565) Add a Blobstore interface to add to blobstore FileSystems

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

Lei (Eddy) Xu commented on HADOOP-9565:
---------------------------------------

Hi, [~Thomas Demoor]. Thanks a lot for picking up this one.

I have a general question here. This 004 patch looks as a similar approach to HADOOP-11525, in which it exposes storage semantics / characteris to the caller. I got the impression that we were talking about some designs that hide the file/object store implementation behind an interface (something like {{write()}} vs {{atomicWrite()}}, or similar). Maybe I misunderstand this, but do we have some consensus now about what the implementation should be? [~stevel@apache.org] and [~Thomas Demoor], could you give us more color to the design? 

Right now, is the main caller change in {{FsShell}} and {{MapReduce}}. Do we have a rough estimation about how many other code / projects can be benefits from this? HBase ?   Should they modify the code by detecting the semantics?

Last, addition to the consistency / atomic semantics, should we have some performance-wise flags, e.g., {{SLOW_RENAME}}, {{SLOW_LIST_STATUS}} and etc. For instance, if the keys are not range partitioned in an object store (potentially in HDFS-7240), {{listStatus}} might be slow. 

One minor improvement:

{code}
// lowest common denominator: AWS EAST provides no guarantees
122	  public static final long SEMANTICS_DEFAULT = 0x0fL;
{code}

Could you calculate it by explicitly using {{StoreSemantics.Foo}}?

Thanks much. Looking forward to hear from you.


> 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: Steve Loughran
>              Labels: BB2015-05-TBR
>         Attachments: HADOOP-9565-001.patch, HADOOP-9565-002.patch, HADOOP-9565-003.patch, HADOOP-9565-004.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.4#6332)