-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49915/
-----------------------------------------------------------

Review request for Ambari, Alejandro Fernandez, Dmitro Lisnichenko, and Nate 
Cole.


Bugs: AMBARI-17660
    https://issues.apache.org/jira/browse/AMBARI-17660


Repository: ambari


Description
-------

When downgrading an express upgrade, the orchestration of the downgrade does 
not perform the same steps as the upgrade did. Namely, the stopping of high- 
and low-level services is not present. This leads to a scenario like this:

- Upgrade HDP 2.x to 2.y
-- Stop Storm
-- Stop ZK
-- Update Stack to 2.y
-- Restart ZK on 2.y
-- Restart Storm on 2.y

- Downgrade  HDP 2.y to 2.x
-- Update Stack to 2.x
-- Restart ZK on 2.x
-- Restart Storm on 2.x

Notice that we didn't stop the running services. This leads to a problem where 
actions which must take place while services are down can't complete 
successfully.

The case in point is Storm. Between HDP 2.4 and HDP 2.5, Storm changed the name 
of a serialized class. Part of the Storm upgrade/downgrade is to always delete 
local storm data. However, during an EU, if Nimbus and Supervisor are 
co-located on the same host, Supervisor will write out 2.5 data since it wasn't 
shut down. Consider:

- Nimbus deletes local data and restarts on the downgrade version
- A running 2.5 Supervisor on the same host then re-creates that directory and 
puts 2.5 data back in
- When the 2.5 Supervisor goes to downgrade and restart, it can't delete that 
data again since Nimbus is already running and would stop.

For this reason, we should always ensure that services are stopped on the 
downgrade for an EU.


Diffs
-----

  
ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
 4c44afe 
  
ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
 6495dda 
  
ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
 a665723 
  
ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml
 90b2f2a 
  
ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
 96ea82d 
  
ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml
 948c0e5 
  
ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.5.xml
 a7383a2 
  
ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml
 d89a38a 
  
ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml
 00dbaa7 
  
ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/nonrolling-upgrade-2.5.xml
 072f4b0 

Diff: https://reviews.apache.org/r/49915/diff/


Testing
-------

Verified that on HDP 2.4 to 2.5, Storm supervisors are no longer writing to 
local data since they were stopped on downgrade.


Thanks,

Jonathan Hurley

Reply via email to