[
https://issues.apache.org/jira/browse/BEAM-12515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17472929#comment-17472929
]
Beam JIRA Bot commented on BEAM-12515:
--------------------------------------
This issue is assigned but has not received an update in 30 days so it has been
labeled "stale-assigned". If you are still working on the issue, please give an
update and remove the label. If you are no longer working on the issue, please
unassign so someone else may work on it. In 7 days the issue will be
automatically unassigned.
> Python PreCommit flaking in PipelineOptionsTest.test_display_data
> -----------------------------------------------------------------
>
> Key: BEAM-12515
> URL: https://issues.apache.org/jira/browse/BEAM-12515
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core, test-failures
> Reporter: Brian Hulette
> Assignee: Irwin Alejandro Rodirguez Ramirez
> Priority: P1
> Labels: flake, sdk-py-core, sickbay, stale-assigned
> Time Spent: 10h 10m
> Remaining Estimate: 0h
>
> Seeing this failure pretty frequently on PreCommit since yesterday (06/17).
> The first failure in precommit cron was here:
> https://ci-beam.apache.org/job/beam_PreCommit_Python_cron/4327/
> Seems related to BEAM-10006, but I'm not sure what changed to make this start
> flaking recently.
> {code}
> self = <apache_beam.options.pipeline_options_test.PipelineOptionsTest
> testMethod=test_display_data>
> def test_display_data(self):
> for case in PipelineOptionsTest.TEST_CASES:
> options = PipelineOptions(flags=case['flags'])
> dd = DisplayData.create_from(options)
> > hc.assert_that(dd.items,
> > hc.contains_inanyorder(*case['display_data']))
> apache_beam/options/pipeline_options_test.py:222:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> target/.tox-py36-cloud/py36-cloud/lib/python3.6/site-packages/hamcrest/library/collection/issequence_containinginanyorder.py:68:
> in describe_mismatch
> self.matches(item, mismatch_description)
> target/.tox-py36-cloud/py36-cloud/lib/python3.6/site-packages/hamcrest/library/collection/issequence_containinginanyorder.py:64:
> in matches
> .describe_mismatch(sequence, mismatch_description)
> target/.tox-py36-cloud/py36-cloud/lib/python3.6/site-packages/hamcrest/core/base_matcher.py:34:
> in describe_mismatch
> mismatch_description.append_text('was ').append_description_of(item)
> target/.tox-py36-cloud/py36-cloud/lib/python3.6/site-packages/hamcrest/core/base_description.py:34:
> in append_description_of
> description = str(value)
> apache_beam/transforms/display.py:359: in __repr__
> return 'DisplayDataItem({})'.format(json.dumps(self._get_dict()))
> /usr/lib/python3.6/json/__init__.py:231: in dumps
> return _default_encoder.encode(obj)
> /usr/lib/python3.6/json/encoder.py:199: in encode
> chunks = self.iterencode(o, _one_shot=True)
> /usr/lib/python3.6/json/encoder.py:257: in iterencode
> return _iterencode(o, 0)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> self = <json.encoder.JSONEncoder object at 0x7fef54dd19b0>
> o = <apache_beam.options.value_provider.RuntimeValueProvider object at
> 0x7feeb2ed5c50>
> def default(self, o):
> """Implement this method in a subclass such that it returns
> a serializable object for ``o``, or calls the base implementation
> (to raise a ``TypeError``).
>
> For example, to support arbitrary iterators, you could
> implement default like this::
>
> def default(self, o):
> try:
> iterable = iter(o)
> except TypeError:
> pass
> else:
> return list(iterable)
> # Let the base class default method raise the TypeError
> return JSONEncoder.default(self, o)
>
> """
> raise TypeError("Object of type '%s' is not JSON serializable" %
> > o.__class__.__name__)
> E TypeError: Object of type 'RuntimeValueProvider' is not JSON
> serializable
> /usr/lib/python3.6/json/encoder.py:180: TypeError
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)