[
https://issues.apache.org/jira/browse/HDFS-12263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135063#comment-16135063
]
Steve Loughran commented on HDFS-12263:
---------------------------------------
I'm doing this in HADOOP-13327, with some tests.
It says
# you MUST NOT declare a capability unless you really do implement the
hsync/hflush operations
# you SHOULD NOT implement Syncable unless you implement the operations
# If you implement Syncable but not the operations (e.g. through subclassing).
you MUST make them no-ops (don't throw any exception), and MUST override
{{hasCapability()}} to declare that capability is not supported.
# If you implement Syncable, you MUST implement {{hasCapability()}}. (patch
adds that to Azure and ADL where appropriate)
Callers SHOULD use hasCapability() to check for behavior, and assume if a
stream says it does hsync/hflush, it is being honest. If it does not declare
that it does so, assume that it doesn't do them.
> Revise StreamCapacities doc to describe the API usage and the requirements
> for customized OutputStream implemetation
> --------------------------------------------------------------------------------------------------------------------
>
> Key: HDFS-12263
> URL: https://issues.apache.org/jira/browse/HDFS-12263
> Project: Hadoop HDFS
> Issue Type: Improvement
> Affects Versions: 3.0.0-alpha4
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
>
> [~busbey] raised the concerns to call out what is the expected way to call
> {{StreamCapabilities}} from the client side. And this doc should also
> describe the rules for any {{FSOutputStream}} implementation to follow.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]