[
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: [email protected]
For additional commands, e-mail: [email protected]