Affects Version/s: 1.0.0
Fix Version/s: 1.1.0
In 1.x DNs currently refuse to connect to NNs if their build revision (ie svn revision) do not match. TTs refuse to connect to JTs if their build version (version, revision, user, and source checksum) do not match.
This prevents rolling upgrades, which is intentional, see the discussion in
HADOOP-5203. The primary motivation in that jira was (1) it's difficult to guarantee every build on a large cluster got deployed correctly, builds don't get rolled back to old versions by accident etc, and (2) mixed versions can lead to execution problems that are hard to debug.
However there are also cases when users know they two builds are compatible, eg when deploying a new build which contains the same contents as the previous one, plus a critical security patch that does not affect compatibility. Currently deploying a 1 line patch requires taking down the entire cluster (or trying to work around the issue by lying about the build revision or checksum, yuck). These users would like to be able to perform a rolling upgrade.
In order to support this, let's add an option that is off by default, but, when enabled, makes the DN and TT version check just check for an exact version match (eg "1.0.2") but ignore the build revision (DN) and the source checksum (TT). Two builds still need to match the major, minor, and point numbers, but nothing else.
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Assignee||Eli Collins [ eli2 ]||Eli Collins [ eli ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Hadoop Flags||Reviewed [ 10343 ]|
|Target Version/s||1.1.0 [ 12316501 ]|
|Fix Version/s||1.1.0 [ 12316501 ]|
|Resolution||Fixed [ 1 ]|
|Summary||Add option to enable DN and TT rolling upgrades in branch-1||Add option to relax build-version check for branch-1|