[
https://issues.apache.org/jira/browse/HDFS-2246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Suresh Srinivas updated HDFS-2246:
----------------------------------
Attachment: HDFS-2246.20s.2.txt
The patch has few performance issues when ported to 0.20-security due to the
security mechanism.
# The ClientDatanodeProtocol RPC proxy is created using block token. This means
an RPC proxy is created for every block. This robs the performance gain from
the patch.
# getBlockPathInfo() is authorized using block token. This makes the use of
cache for block to path info confusing. A cache could be added an entry based
on one token and an access to the cache using another token finds the cached
path info.
The new patch makes the following changes:
# A client needs a valid, long lived ClientDatanodeProtocol proxy, instead of
creating one for each block access. In order to do that, kerberos auth method
is used for RPC connectivity. Since both the client and HDFS are running as the
same user, this mechanism will work fine.
# In Datanode#getBlockInfo() following checks are made:
#* The user corresponding to the caller of this method must match the user the
datanode is running as.
#* When security enabled, the server allows only kerberos as the auth method.
# BlockReaderLocal allows short circuit read only for the user corresponding to
the datanode.
Pending:
Will run more tests in secure setup and also will do some more benchmarking in
both secure and non-secuire setup.
> Shortcut a local client reads to a Datanodes files directly
> -----------------------------------------------------------
>
> Key: HDFS-2246
> URL: https://issues.apache.org/jira/browse/HDFS-2246
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Sanjay Radia
> Attachments: 0001-HDFS-347.-Local-reads.patch, HDFS-2246.20s.1.patch,
> HDFS-2246.20s.2.txt, HDFS-2246.20s.patch, localReadShortcut20-security.2patch
>
>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira