-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58208/
-----------------------------------------------------------
(Updated April 12, 2017, 3:57 p.m.)
Review request for Ambari, Jonathan Hurley and Nate Cole.
Changes
-------
Fixed review comments
Bugs: AMBARI-20682
https://issues.apache.org/jira/browse/AMBARI-20682
Repository: ambari
Description
-------
During a rolling upgrade (especially on a large, heavily used cluster), the
DataNodes do not shutdown immediately. However, they do de-register from the
NameNode which tricks Ambari into thinking that they are down.
Since the rolling upgrade uses a {{RESTART}} command, we attempt to start the
DataNode back up before the daemon has shutdown:
{code}
2017-03-14 05:00:25,602 - call['/usr/hdp/current/hadoop-hdfs-datanode/bin/hdfs
dfsadmin -fs hdfs://c1ha -shutdownDatanode 0.0.0.0:8010 upgrade'] {'user':
'hdfs'}
2017-03-14 05:00:28,438 - call returned (0, 'Submitted a shutdown request to
datanode 0.0.0.0:8010')
2017-03-14 05:00:28,438 -
Execute['/usr/hdp/current/hadoop-hdfs-datanode/bin/hdfs dfsadmin -fs
hdfs://c1ha -D ipc.client.connect.max.retries=5 -D
ipc.client.connect.retry.interval=1000 -getDatanodeInfo 0.0.0.0:8010']
{'tries': 1, 'user': 'hdfs'}
2017-03-14 05:00:35,976 - DataNode has successfully shutdown for upgrade.
{code}
Even though ~ 6 seconds have passed, the daemon is still running as it drains.
Therefore, we attempt to start it which causes a NOOP.
Instead, we should also monitor for the PID.
-----------------
Now STOP command waits until component really dies. Motivation behind that is:
we don't want to execute START of still running component again (e.g. during
upgrade/RESTART)
Diffs (updated)
-----
ambari-common/src/main/python/resource_management/libraries/script/script.py
9a5da04
ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HIVE/package/scripts/mysql_service.py
4716343
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
151e26c
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode_upgrade.py
b55237d
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/mysql_service.py
11bbdd8
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/postgresql_service.py
cc7b4cc
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py 1c3c5b7
Diff: https://reviews.apache.org/r/58208/diff/3/
Changes: https://reviews.apache.org/r/58208/diff/2-3/
Testing
-------
mvn clean test
and test on live cluster
Thanks,
Dmitro Lisnichenko