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

Konstantin Shvachko commented on HDFS-13880:
--------------------------------------------

This is an important question:
??why we do the check on the server side vs. client side???
We have global metadata, which is directories, files, blocks and their 
attributes. And we have a Global Sequence Id (GSI), which reflects the 
evolution of the metadata. We also have local state for each servers (NN), 
including HAState, SafeMode, DataNode reports. The source of truth which 
operation accesses the global metadata state or the local server state is 
solely on the server side.
Suppose that we changed the semantics of some state from local to global or 
vice versa. If clients enforces local/global semantics, then we will need to 
update ALL clients in the system for the change to take affect, and we cannot 
enforce it until there are some old clients out there. If this is enforced on 
the server then clients will just follow the new rules.

> Add mechanism to allow certain RPC calls to bypass sync
> -------------------------------------------------------
>
>                 Key: HDFS-13880
>                 URL: https://issues.apache.org/jira/browse/HDFS-13880
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>            Reporter: Chen Liang
>            Assignee: Chen Liang
>            Priority: Major
>         Attachments: HDFS-13880-HDFS-12943.001.patch, 
> HDFS-13880-HDFS-12943.002.patch
>
>
> Currently, every single call to NameNode will be synced, in the sense that 
> NameNode will not process it until state id catches up. But in certain cases, 
> we would like to bypass this check and allow the call to return immediately, 
> even when the server id is not up to date. One case could be the to-be-added 
> new API in HDFS-13749 that request for current state id. Others may include 
> calls that do not promise real time responses such as {{getContentSummary}}. 
> This Jira is to add the mechanism to allow certain calls to bypass sync.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to