> On June 17, 2016, 9:44 a.m., Andrew Onischuk wrote: > > Ship It!
Thank you! could you commit this ? - Masahiro ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/48829/#review138187 ----------------------------------------------------------- On June 17, 2016, 12:18 a.m., Masahiro Tanaka wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/48829/ > ----------------------------------------------------------- > > (Updated June 17, 2016, 12:18 a.m.) > > > Review request for Ambari, Andrew Onischuk and jun aoki. > > > Bugs: AMBARI-17245 > https://issues.apache.org/jira/browse/AMBARI-17245 > > > Repository: ambari > > > Description > ------- > > When we start hivemestore in the environment described above, we got an error > ``` > Traceback (most recent call last): > File > "/var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py", > line 254, in <module> > HiveMetastore().execute() > File > "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", > line 257, in execute > method(env) > File > "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", > line 686, in restart > self.start(env, upgrade_type=upgrade_type) > File > "/var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py", > line 61, in start > hive_service('metastore', action='start', upgrade_type=upgrade_type) > 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/HIVE/0.12.0.2.0/package/scripts/hive_service.py", > line 70, in hive_service > pid = get_user_call_output.get_user_call_output(format("cat {pid_file}"), > user=params.hive_user, is_checked_call=False)[1] > File > "/usr/lib/python2.6/site-packages/resource_management/libraries/functions/get_user_call_output.py", > line 59, in get_user_call_output > err_msg = Logger.filter_text(("Execution of '%s' returned %d. %s") % > (command_string, code, all_output)) > File "/usr/lib/python2.6/site-packages/resource_management/core/logger.py", > line 101, in filter_text > text = text.replace(unprotected_string, protected_string) > UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 117: > ordinal not in range(128) > ``` > I think the reason why this error occurs is because > "/usr/lib/python2.6/site-packages/resource_management/libraries/functions/get_user_call_output.py". > This script calls system command (e.g. cat), writes stdout & stderr in the > tempfile, and read it. The outputs (stdout, stderr) are in UTF-8 encoded > Japanese in the above environment. > > When reading string from file, python regards the file as ASCII encoded by > default. But if the file is utf-8 encoded, this causes an error. > > We should decode UTF-8 when reading the file. > > > Diffs > ----- > > > ambari-common/src/main/python/resource_management/libraries/functions/get_user_call_output.py > 016161c > > Diff: https://reviews.apache.org/r/48829/diff/ > > > Testing > ------- > > mvn clean test && manual test > > > Thanks, > > Masahiro Tanaka > >