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