Repository: ambari Updated Branches: refs/heads/branch-2.4 4fd42bafa -> 0f04bb087 refs/heads/trunk 92455c702 -> 52d466bc2
AMBARI-17524. Falcon start fails rarely (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/52d466bc Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/52d466bc Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/52d466bc Branch: refs/heads/trunk Commit: 52d466bc284b84ad1294ac52ab772e84e120b379 Parents: 92455c7 Author: Andrew Onishuk <[email protected]> Authored: Fri Jul 1 18:05:50 2016 +0300 Committer: Andrew Onishuk <[email protected]> Committed: Fri Jul 1 18:05:50 2016 +0300 ---------------------------------------------------------------------- .../FALCON/0.5.0.2.1/package/scripts/falcon.py | 8 +++++++- .../src/test/python/stacks/2.1/FALCON/test_falcon_server.py | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/52d466bc/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py index c2f1f53..a67519d 100644 --- a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py +++ b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/falcon.py @@ -31,6 +31,7 @@ from resource_management.libraries.script import Script from resource_management.libraries.resources import PropertiesFile from resource_management.libraries.functions import format from resource_management.libraries.functions.show_logs import show_logs +from resource_management.libraries.functions import get_user_call_output from resource_management.core.logger import Logger from ambari_commons import OSConst @@ -186,12 +187,17 @@ def falcon(type, action = None, upgrade_type=None): # hadoop home directory to use environment_dictionary = { "HADOOP_HOME" : params.hadoop_home_dir } + pid = get_user_call_output.get_user_call_output(format("cat {server_pid_file}"), user=params.falcon_user, is_checked_call=False)[1] + process_exists = format("ls {server_pid_file} && ps -p {pid}") + if action == 'start': try: Execute(format('{falcon_home}/bin/falcon-start -port {falcon_port}'), user = params.falcon_user, path = params.hadoop_bin_dir, - environment=environment_dictionary) + environment=environment_dictionary, + not_if = process_exists, + ) except: show_logs(params.falcon_log_dir, params.falcon_user) raise http://git-wip-us.apache.org/repos/asf/ambari/blob/52d466bc/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py index 6f81b15..2dd0da9 100644 --- a/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py +++ b/ambari-server/src/test/python/stacks/2.1/FALCON/test_falcon_server.py @@ -46,7 +46,9 @@ class TestFalconServer(RMFTestCase): self.assertResourceCalled('Execute', '/usr/lib/falcon/bin/falcon-start -port 15000', path = ['/usr/bin'], user = 'falcon', - environment = {'HADOOP_HOME': '/usr/lib/hadoop'}) + environment = {'HADOOP_HOME': '/usr/lib/hadoop'}, + not_if = 'ls /var/run/falcon/falcon.pid && ps -p ', + ) self.assertNoMoreResources() @@ -370,6 +372,7 @@ class TestFalconServer(RMFTestCase): environment = {'HADOOP_HOME': '/usr/hdp/current/hadoop-client'}, path = ['/usr/hdp/current/hadoop-client/bin'], user = 'falcon', + not_if = 'ls /var/run/falcon/falcon.pid && ps -p ', ) self.assertNoMoreResources()
