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

Andrew Wang commented on HDFS-11026:
------------------------------------

Got it, thanks for the explanation. In this case, I think we should consider 
backporting dual-decoding support to the 2.6 and 2.7 release lines as well. 
Historically, users have been more willing to upgrade to a maintenance release 
than a new minor release.

Looking at the patch, it overall looks good. I'd like to see some tests though 
that verify both legacy and PB modes are actually generating the expected bytes 
on the wire when the boolean is passed. I see the read/write legacy/protobuf 
methods are annotated VisibleForTesting but not tested directly.

Nits:
* typo "deseriablize" in the readFields comment.
* BlockTokenSecretProto could also use a comment saying "only add 
optional/repeated fields", since legacy tokens won't have these new fields.

Would be good for Daryn to review too, since I'm not really an expert on this 
part of the code.

> Convert BlockTokenIdentifier to use Protobuf
> --------------------------------------------
>
>                 Key: HDFS-11026
>                 URL: https://issues.apache.org/jira/browse/HDFS-11026
>             Project: Hadoop HDFS
>          Issue Type: Task
>          Components: hdfs, hdfs-client
>    Affects Versions: 2.9.0, 3.0.0-alpha1
>            Reporter: Ewan Higgs
>             Fix For: 3.0.0-alpha2
>
>         Attachments: HDFS-11026.002.patch, HDFS-11026.003.patch, 
> blocktokenidentifier-protobuf.patch
>
>
> {{BlockTokenIdentifier}} currently uses a {{DataInput}}/{{DataOutput}} 
> (basically a {{byte[]}}) and manual serialization to get data into and out of 
> the encrypted buffer (in {{BlockKeyProto}}). Other TokenIdentifiers (e.g. 
> {{ContainerTokenIdentifier}}, {{AMRMTokenIdentifier}}) use Protobuf. The 
> {{BlockTokenIdenfitier}} should use Protobuf as well so it can be expanded 
> more easily and will be consistent with the rest of the system.
> NB: Release of this will require a version update since 2.8.x won't be able 
> to decipher {{BlockKeyProto.keyBytes}} from 2.8.y.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to