[ https://issues.apache.org/jira/browse/BEAM-9975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105836#comment-17105836 ]
Kyle Weaver commented on BEAM-9975: ----------------------------------- The error message makes it impossible to tell which option is actually the problem. I'll try submitting a patch to the protobuf formatter. In the mean time, we could consider catching the error and printing the offending options. > PortableRunnerTest flake "ParseError: Unexpected type for Value message." > ------------------------------------------------------------------------- > > Key: BEAM-9975 > URL: https://issues.apache.org/jira/browse/BEAM-9975 > Project: Beam > Issue Type: Bug > Components: sdk-py-core > Reporter: Brian Hulette > Priority: Major > > Error looks similar to the one in BEAM-9907. Example from > https://builds.apache.org/job/beam_PreCommit_Python_Cron/2732 > {code} > apache_beam/runners/portability/fn_api_runner/fn_runner_test.py:569: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > apache_beam/pipeline.py:550: in __exit__ > self.run().wait_until_finish() > apache_beam/pipeline.py:529: in run > return self.runner.run_pipeline(self, self._options) > apache_beam/runners/portability/portable_runner.py:426: in run_pipeline > job_service_handle.submit(proto_pipeline) > apache_beam/runners/portability/portable_runner.py:107: in submit > prepare_response = self.prepare(proto_pipeline) > apache_beam/runners/portability/portable_runner.py:184: in prepare > pipeline_options=self.get_pipeline_options()), > apache_beam/runners/portability/portable_runner.py:174: in > get_pipeline_options > return job_utils.dict_to_struct(p_options) > apache_beam/runners/job/utils.py:33: in dict_to_struct > return json_format.ParseDict(dict_obj, struct_pb2.Struct()) > target/.tox-py36-cython/py36-cython/lib/python3.6/site-packages/google/protobuf/json_format.py:450: > in ParseDict > parser.ConvertMessage(js_dict, message) > target/.tox-py36-cython/py36-cython/lib/python3.6/site-packages/google/protobuf/json_format.py:479: > in ConvertMessage > methodcaller(_WKTJSONMETHODS[full_name][1], value, message)(self) > target/.tox-py36-cython/py36-cython/lib/python3.6/site-packages/google/protobuf/json_format.py:667: > in _ConvertStructMessage > self._ConvertValueMessage(value[key], message.fields[key]) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > self = <google.protobuf.json_format._Parser object at 0x7f69eb5b59e8> > value = <apache_beam.options.value_provider.RuntimeValueProvider object at > 0x7f69eb7b3ac8> > message = > def _ConvertValueMessage(self, value, message): > """Convert a JSON representation into Value message.""" > if isinstance(value, dict): > self._ConvertStructMessage(value, message.struct_value) > elif isinstance(value, list): > self. _ConvertListValueMessage(value, message.list_value) > elif value is None: > message.null_value = 0 > elif isinstance(value, bool): > message.bool_value = value > elif isinstance(value, six.string_types): > message.string_value = value > elif isinstance(value, _INT_OR_FLOAT): > message.number_value = value > else: > > raise ParseError('Unexpected type for Value message.') > E google.protobuf.json_format.ParseError: Unexpected type for Value > message. > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)