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

Virajith Jalaparti commented on HDFS-6708:
------------------------------------------

Thanks for all the work [~ehiggs] and [~PieterReuse]. 

In the latest patch (v4), {{checkAccess(StorageType[] storageTypesRequested, 
StorageType[] storageTypesAvailable)}} in {{BlockTokenSecretManager}} passes as 
long as one element of {{storageTypesRequested}} is present in 
{{storageTypesAvailable}}. A couple of comments on this:

# I think the check should pass only if all elements in 
{{storageTypesAvailable}} are also present in {{storageTypesRequested}}. This 
is because the intent of this JIRA is to ensure that whatever storage types are 
used for block creation, the {{BlockTokenIdentifier}} should be used as a 
mechanism to verify them. Hence, {{storageTypesRequested}} which is determined 
from the {{BlockTokenIdentifier}} should be a superset of 
{{storageTypesAvailable}}, which are used in the block creation protocol (e.g., 
{{writeBlock}}). 
# (Minor) The variable names {{storageTypesAvailable}}  and 
{{storageTypesRequested}} are a bit confusing. {{storageTypesAvailable}} 
denotes the storage types that are passed in the RPC call ({{transferBlock}}, 
{{writeBlock}} etc.), and {{storageTypesRequested}} denotes the storage types 
that are specified in the {{BlockTokenIdentifier}}. It would be good to call 
them along those lines -- say something the lines, {{candidateStorageTypes}}, 
and {{storageTypesRequested}}.

> StorageType should be encoded in the block token
> ------------------------------------------------
>
>                 Key: HDFS-6708
>                 URL: https://issues.apache.org/jira/browse/HDFS-6708
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>    Affects Versions: 2.4.1
>            Reporter: Arpit Agarwal
>            Assignee: Ewan Higgs
>             Fix For: 3.0.0-alpha3
>
>         Attachments: HDFS-6708.0001.patch, HDFS-6708.0002.patch, 
> HDFS-6708.0003.patch, HDFS-6708.0004.patch
>
>
> HDFS-6702 is adding support for file creation based on StorageType.
> The block token is used as a tamper-proof channel for communicating block 
> parameters from the NN to the DN during block creation. The StorageType 
> should be included in this block token.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to