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

Sean Mackrory edited comment on HDFS-11096 at 1/10/17 10:46 PM:
----------------------------------------------------------------

After looking at where SortedMapWritable is used some more, I'm more convinced 
it's only a concern if we care about source compatibility, which is not 
required for rolling upgrades. I also had a second look at wire compatibility 
and I found a few concerning things I'll look at and possibly fix:

* The message getHdfsBlockLocations has disappeared as well as related types
* The field nonDfsUsed in DatanodeInfoProto changed from index 9 to index 15

For YARN (CC [~kasha]), the field nodeLabels in several structures in 
yarn_protos changed from string to a custom type, and memory in ResourceProto 
change from int32 to int64 (not sure if it's the case in protobuf, but that may 
not be incompatible?)

There's also a lot of messages moving between files, but not otherwise changing 
in any incompatible way. That's not a concern is it?

If anyone else wants to see the changes in protobuf, this is what I did (if 
anything, you'll want to replace meld with your own diff-tool-of-choice):

{code}
#!/usr/bin/env bash

cd /tmp

OLD=branch-2.7
NEW=trunk

mkdir new
mkdir old
git clone git://git.apache.org/hadoop.git

function gather_protos() {
  SOURCE=${1}
  TARGET=${2}
  for proto in $(cd ${SOURCE} && find . -name \*.proto | sed -e 's|^\./||'); do
    #flattened=${proto//\//_} # Trips up on files that moved
    flattened=$(basename ${proto})
    cp ${SOURCE}/${proto} ${TARGET}/${flattened}
  done
}

(cd hadoop; git checkout ${OLD})
gather_protos hadoop old

(cd hadoop; git checkout ${NEW})
gather_protos hadoop new

meld old new
{code}


was (Author: mackrorysd):
After looking at where SortedMapWritable is used some more, I'm more convinced 
it's only a concern if we care about source compatibility, which is not 
required for rolling upgrades. I also had a second look at wire compatibility 
and I found a few concerning things I'll look at and possibly fix:

* The message getHdfsBlockLocations has disappeared as well as related types
* The field nonDfsUsed in DatanodeInfoProto changed from index 9 to index 15

For YARN (CC [~kasha]), the field nodeLabels in several structures in 
yarn_protos changed from string to a custom type, and memory in ResourceProto 
change from int32 to int64 (not sure if it's the case in protobuf, but that may 
not be incompatible?)

There's also a lot of messages moving between files, but not otherwise changing 
in any incompatible way. That's not a concern is it?

If anyone else wants to see the changes in protobuf, this is what I did (if 
anything, you'll want to replace meld with your own diff-tool-of-choice):

{quote}
#!/usr/bin/env bash

cd /tmp

OLD=branch-2.7
NEW=trunk

mkdir new
mkdir old
git clone git://git.apache.org/hadoop.git

function gather_protos() {
  SOURCE=${1}
  TARGET=${2}
  for proto in $(cd ${SOURCE} && find . -name \*.proto | sed -e 's|^\./||'); do
    #flattened=${proto//\//_} # Trips up on files that moved
    flattened=$(basename ${proto})
    cp ${SOURCE}/${proto} ${TARGET}/${flattened}
  done
}

(cd hadoop; git checkout ${OLD})
gather_protos hadoop old

(cd hadoop; git checkout ${NEW})
gather_protos hadoop new

meld old new
{quote}

> Support rolling upgrade between 2.x and 3.x
> -------------------------------------------
>
>                 Key: HDFS-11096
>                 URL: https://issues.apache.org/jira/browse/HDFS-11096
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: rolling upgrades
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Andrew Wang
>            Priority: Blocker
>
> trunk has a minimum software version of 3.0.0-alpha1. This means we can't 
> rolling upgrade between branch-2 and trunk.
> This is a showstopper for large deployments. Unless there are very compelling 
> reasons to break compatibility, let's restore the ability to rolling upgrade 
> to 3.x releases.



--
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