[ 
https://issues.apache.org/jira/browse/HDFS-15567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konstantin Shvachko updated HDFS-15567:
---------------------------------------
    Affects Version/s: 2.10.0
             Assignee: Konstantin Shvachko
               Status: Patch Available  (was: Open)

Decided to go with option 1 exposing {{msync}} via {{FileSystem}} and 
{{FileContext}}. See patch attached.
We can further implement {{msync}} for {{ViewFileSystem}}, which would try to 
call it on all mount points,  whichever supports it. {{WebHDFS}} is not built 
for that as it doesn't have {{AlignmentContext}} and therefore cannot pass 
state ids between NameNode and clients.

> [SBN Read] HDFS should expose msync() API to allow downstream applications 
> call it explicetly.
> ----------------------------------------------------------------------------------------------
>
>                 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
>         Attachments: HDFS-15567.001.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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to