You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Steve Loughran (Jira)" <ji...@apache.org> on 2020/12/10 12:34:00 UTC

[jira] [Commented] (HDFS-15567) [SBN Read] HDFS should expose msync() API to allow downstream applications call it explicitly.

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

Steve Loughran commented on HDFS-15567:
---------------------------------------

Hey, just noticed this

Can we not have broad changes to the FS APIs without some specification and matching tests. As those of use doing other filesystems are left working out what they do and "oh, just copy what HDFS does" isn't the way to do things. I will raise this on the HDFS dev list *again*

What do we do here

* say process failure, roll back. If it was only trunk I'd do that
* move it into its own interface MSyncable 
* Some *and it won't be me* do the spec and test. 

If nobody is going to volunteer for the specification/test changes, I'm happy for the rollback. It'll remind people about process




> [SBN Read] HDFS should expose msync() API to allow downstream applications call it explicitly.
> ----------------------------------------------------------------------------------------------
>
>                 Key: HDFS-15567
>                 URL: https://issues.apache.org/jira/browse/HDFS-15567
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: ha, hdfs-client
>    Affects Versions: 2.10.0
>            Reporter: Konstantin Shvachko
>            Assignee: Konstantin Shvachko
>            Priority: Major
>             Fix For: 3.3.1, 3.4.0, 3.1.5, 2.10.2, 3.2.3
>
>         Attachments: HDFS-15567.001.patch, HDFS-15567.002.patch
>
>
> Consistent reads from Standby introduced {{msync()}} API HDFS-13688, which updates client's state ID with current state of the Active NameNode to guarantee consistency of subsequent calls to an ObserverNode. Currently this API is exposed via {{DFSClient}} only, which makes it hard for applications to access {{msync()}}. One way is to use something like this:
> {code}
> if(fs instanceof DistributedFileSystem) {
>   ((DistributedFileSystem)fs).getClient().msync();
> }
> {code}
> This should be exposed both for {{FileSystem}} and {{FileContext}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org