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

Daryn Sharp commented on HDFS-11026:
------------------------------------

-1 While it's a long needed change, there must be backwards compatibility.

This patch's knife-switch approach will completely break rolling upgrades - ie. 
standard procedure is upgrade NN, upgrade DNs.  DNs not upgraded will fail to 
decode the new PB tokens issued by the upgraded NN.  This means full downtime 
for the to-be-upgraded cluster.  Running clients on other clusters accessing 
the upgraded cluster will experience major disruptions.  Neither are acceptable 
to a production environment.

This change will require via dual decoding of old Writable and new PB tokens.  
After initial integration the NN must continue issuing old Writable tokens to 
support rolling upgrades.  In some future release, preferably a major release, 
the NN can start issuing new PB tokens - while maintaining dual decode support 
to prevent disrupting clients.

> 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: 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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to