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

Steve Loughran commented on HDFS-11644:
---------------------------------------

Core design of a new interface looks good

I don't want an enum though, I'd like a string. Why? Let's us and 
implementation classes add new methods without renegotiating the source tree. 
For example, on S3a, I could add the new attributes "s3a:delayed-commit", 
blobstore:put-on-close ( the latter being something which other blobstores 
could also do), etc. Some convention that for store-specific options, we use a 
prefix, so as to stop incompatibilities.

for outstreams, we could have the flush attributes, put-on-close, 
consistent-metadata (which of course, HDFS output streams lack), 


One minor detail: your tests don't need to catch raised exceptions, just throw 
them up and let JUnit deal with it.

> DFSStripedOutputStream should not implement Syncable
> ----------------------------------------------------
>
>                 Key: HDFS-11644
>                 URL: https://issues.apache.org/jira/browse/HDFS-11644
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: erasure-coding
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Andrew Wang
>            Assignee: Manoj Govindassamy
>              Labels: hdfs-ec-3.0-must-do
>         Attachments: HDFS-11644.01.patch, HDFS-11644.02.patch
>
>
> FSDataOutputStream#hsync checks if a stream implements Syncable, and if so, 
> calls hsync. Otherwise, it just calls flush. This is used, for instance, by 
> YARN's FileSystemTimelineWriter.
> DFSStripedOutputStream extends DFSOutputStream, which implements Syncable. 
> However, DFSStripedOS throws a runtime exception when the Syncable methods 
> are called.
> We should refactor the inheritance structure so DFSStripedOS does not 
> implement Syncable.



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