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

Review request for Ambari and Vitalyi Brodetskyi.


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


Repository: ambari


Description
-------

Witnessed at a customer site:
Storm Supervisor server had a pid file at /var/run/storm/supervisor.pid
This file, while present, had no content
The stack file, service.py detects a running process using this call:
  no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` 
>/dev/null 2>&1")
When the file is empty, this command returns 0 (success), and the startup 
command does not run.
Changed the command to
  no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps -p `cat {pid_file}` 
>/dev/null 2>&1")
which returns properly that the process is not running and startup can continue.
The customer reports that they have seen this behavior with other services, but 
could not reproduce on-site. This pattern is used frequently through the code 
base and should be addressed for all services including Storm. Validation of 
this change is the critical task here since the change is "small" - the effects 
are large in scope.
Also, at ambari/ambari-agent/conf/unix/ambari-agent we have few invocations of 
a similar code with another bug:
          PID=`cat $PIDFILE`
          echo "Found $AMBARI_AGENT PID: $PID"
          if [ -z "`ps ax -o pid | grep $PID`" ]; then
Here if $PID is for example 2111 and there is a running process with pid like 
22111, we will get a false positive (agent will refuse to start saying it is 
already running).


Diffs
-----

  ambari-agent/conf/unix/ambari-agent e867155 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HBASE/package/scripts/hbase_service.py
 723d4e2 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/service_check.py
 bc3961c 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/utils.py
 f1f0ac4 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HIVE/package/scripts/hive_service.py
 8507816 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/OOZIE/package/scripts/oozie.py
 d390c69 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/OOZIE/package/scripts/oozie_service.py
 78661b0 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/WEBHCAT/package/scripts/webhcat_service.py
 a92446d 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/YARN/package/scripts/service.py
 42a7138 
  
ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/ZOOKEEPER/package/scripts/zookeeper_service.py
 d642bc6 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/package/scripts/hbase_service.py
 045a7b9 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/service_check.py
 203fc55 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/utils.py
 6e9cb21 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/hive_service.py
 d3bd71b 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/webhcat_service.py
 99c49a6 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/package/scripts/service.py
 cb885e0 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie.py
 af06efc 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/package/scripts/oozie_service.py
 1aa44fb 
  
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/package/scripts/zookeeper_service.py
 d642bc6 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/services/YARN/package/scripts/service.py
 d854565 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/package/scripts/hbase_service.py
 723d4e2 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/service_check.py
 36e26d6 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/utils.py
 14251cd 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/hive_service.py
 294121d 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/package/scripts/webhcat_service.py
 41fb529 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie.py
 8f06a3d 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/package/scripts/oozie_service.py
 ac4280a 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/service.py
 7250835 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/package/scripts/zookeeper_service.py
 d642bc6 
  
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/STORM/package/scripts/service.py
 464f62e 
  
ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/YARN/package/scripts/service.py
 d854565 
  
ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service.py
 9dc42b9 
  
ambari-server/src/main/resources/stacks/HDP/2.2/services/KAFKA/package/scripts/kafka_broker.py
 77c6b8b 
  
ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox_gateway.py
 fe4c8b1 
  ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_master.py cb1a81d 
  ambari-server/src/test/python/stacks/1.3.2/HBASE/test_hbase_regionserver.py 
88570d5 
  ambari-server/src/test/python/stacks/1.3.2/HDFS/test_datanode.py 845476f 
  ambari-server/src/test/python/stacks/1.3.2/HDFS/test_namenode.py 83ca3d7 
  ambari-server/src/test/python/stacks/1.3.2/HDFS/test_snamenode.py e801dba 
  ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py 
006dd90 
  ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py 4dceec1 
  ambari-server/src/test/python/stacks/1.3.2/HIVE/test_webhcat_server.py 
75496c2 
  
ambari-server/src/test/python/stacks/1.3.2/MAPREDUCE/test_mapreduce_historyserver.py
 bceb92f 
  
ambari-server/src/test/python/stacks/1.3.2/MAPREDUCE/test_mapreduce_jobtracker.py
 2430d93 
  
ambari-server/src/test/python/stacks/1.3.2/MAPREDUCE/test_mapreduce_tasktracker.py
 15a598b 
  ambari-server/src/test/python/stacks/1.3.2/OOZIE/test_oozie_server.py 13e1fdc 
  ambari-server/src/test/python/stacks/1.3.2/ZOOKEEPER/test_zookeeper_server.py 
41c2648 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_master.py 856dd9a 
  ambari-server/src/test/python/stacks/2.0.6/HBASE/test_hbase_regionserver.py 
c705fbd 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_datanode.py b5b230d 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_journalnode.py a91d130 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py c436646 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_snamenode.py bc94f8a 
  ambari-server/src/test/python/stacks/2.0.6/HDFS/test_zkfc.py 4bcd104 
  ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py 
887c8d3 
  ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py 581b4d3 
  ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py 
d2caa8b 
  ambari-server/src/test/python/stacks/2.0.6/OOZIE/test_oozie_server.py 9bf2085 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_historyserver.py 050b3e6 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_nodemanager.py b70c9e5 
  ambari-server/src/test/python/stacks/2.0.6/YARN/test_resourcemanager.py 
6f7f286 
  ambari-server/src/test/python/stacks/2.0.6/ZOOKEEPER/test_zookeeper_server.py 
d839abe 
  ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py b65c28e 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_drpc_server.py 
189b874 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_nimbus.py 90c52a1 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_rest_api_service.py 
b502859 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor.py 
806394b 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_supervisor_prod.py 
eb01146 
  ambari-server/src/test/python/stacks/2.1/STORM/test_storm_ui_server.py 
365d926 
  ambari-server/src/test/python/stacks/2.1/YARN/test_apptimelineserver.py 
0239cf3 

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


Testing
-------

----------------------------------------------------------------------
Ran 243 tests in 3.272s

OK
----------------------------------------------------------------------
Total run:684
Total errors:0
Total failures:0
OK


Thanks,

Dmitro Lisnichenko

Reply via email to