----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/41006/ -----------------------------------------------------------
Review request for Ambari, Dmytro Sen, Sumit Mohanty, and Sid Wagle. Bugs: AMBARI-14226 https://issues.apache.org/jira/browse/AMBARI-14226 Repository: ambari Description ------- PROBLEM AMS service check throws the following error and exits when AMS service check gives up after 1 try when AMS has just started up and HBase is not in proper state. Traceback (most recent call last): File "/var/lib/ambari-agent/cache/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py", line 165, in <module> AMSServiceCheck().execute() File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 217, in execute method(env) File "/usr/lib/python2.6/site-packages/ambari_commons/os_family_impl.py", line 89, in thunk return fn(*args, **kwargs) File "/var/lib/ambari-agent/cache/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py", line 95, in service_check response = conn.getresponse() File "/usr/lib64/python2.7/httplib.py", line 1045, in getresponse response.begin() File "/usr/lib64/python2.7/httplib.py", line 409, in begin version, status, reason = self._read_status() File "/usr/lib64/python2.7/httplib.py", line 373, in _read_status raise BadStatusLine(line) httplib.BadStatusLine: '' BUG In service_check.py, we make a call to conn.getresponse() after the "catch" block, thereby making the assumption that the response is always OK at this step. But there are are rare cases when conn.request() can be OK and conn.getresponse() gives out BadStatusException (subclass of HttpException). FIX Moving conn.getresponse() to a place before the exception catch block. Diffs ----- ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py d2c0cbb Diff: https://reviews.apache.org/r/41006/diff/ Testing ------- Manual Testing done. Python unit tests pass (3 failures are unrelated). Thanks, Aravindan Vijayan