[ https://issues.apache.org/jira/browse/BEAM-5509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16632172#comment-16632172 ]
Thomas Weise commented on BEAM-5509: ------------------------------------ A bit more digging shows that the culprit is really the conversion from dict to struct in google/protobuf/json_format.py(582)_ConvertValueMessage {code:java} /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/bdb.py(400)run() -> exec cmd in globals, locals <string>(1)<module>() /Users/tweise/src/beam/sdks/python/flink-example.py(23)<module>() -> | beam.Map(lambda x: logging.info("1Got %s", x) or (x, 1)) /Users/tweise/src/beam/sdks/python/apache_beam/pipeline.py(414)__exit__() -> self.run().wait_until_finish() /Users/tweise/src/beam/sdks/python/apache_beam/pipeline.py(394)run() -> self.to_runner_api(), self.runner, self._options).run(False) /Users/tweise/src/beam/sdks/python/apache_beam/pipeline.py(407)run() -> return self.runner.run_pipeline(self) /Users/tweise/src/beam/sdks/python/apache_beam/runners/portability/portable_runner.py(165)run_pipeline() -> prepare_response = send_prepare_request() /Users/tweise/src/beam/sdks/python/apache_beam/runners/portability/portable_runner.py(159)send_prepare_request() -> pipeline_options=job_utils.dict_to_struct(options))) /Users/tweise/src/beam/sdks/python/apache_beam/runners/job/utils.py(30)dict_to_struct() -> return json_format.ParseDict(dict_obj, struct_pb2.Struct()) /Users/tweise/python-ve/beam/lib/python2.7/site-packages/google/protobuf/json_format.py(404)ParseDict() -> parser.ConvertMessage(js_dict, message) /Users/tweise/python-ve/beam/lib/python2.7/site-packages/google/protobuf/json_format.py(433)ConvertMessage() -> methodcaller(_WKTJSONMETHODS[full_name][1], value, message)(self) /Users/tweise/python-ve/beam/lib/python2.7/site-packages/google/protobuf/json_format.py(605)_ConvertStructMessage() -> self._ConvertValueMessage(value[key], message.fields[key]) > /Users/tweise/python-ve/beam/lib/python2.7/site-packages/google/protobuf/json_format.py(582)_ConvertValueMessage(){code} {code:java} (Pdb) l 577 elif isinstance(value, list): 578 self. _ConvertListValueMessage(value, message.list_value) 579 elif value is None: 580 message.null_value = 0 581 elif isinstance(value, bool): 582 message.bool_value = value 583 elif isinstance(value, six.string_types): 584 message.string_value = value 585 elif isinstance(value, _INT_OR_FLOAT): 586 -> message.number_value = value 587 else:{code} As we see int and float treated the same way. Is that an upstream bug that should be filed as such? > Python pipeline_options doesn't handle int type > ----------------------------------------------- > > Key: BEAM-5509 > URL: https://issues.apache.org/jira/browse/BEAM-5509 > Project: Beam > Issue Type: Bug > Components: sdk-py-harness > Reporter: Thomas Weise > Assignee: Thomas Weise > Priority: Major > Labels: portability-flink > Time Spent: 20m > Remaining Estimate: 0h > > The int option supplied at the command line is turned into a decimal during > serialization and then the parser in SDK harness fails to restore it as int. -- This message was sent by Atlassian JIRA (v7.6.3#76005)