You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kenneth Knowles (Jira)" <ji...@apache.org> on 2021/10/21 17:57:00 UTC

[jira] [Updated] (BEAM-12515) Python PreCommit flaking in PipelineOptionsTest.test_display_data

     [ https://issues.apache.org/jira/browse/BEAM-12515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kenneth Knowles updated BEAM-12515:
-----------------------------------
    Labels: flake sdk-py-core sickbay  (was: flake sdk-py-core)

> 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
>          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.3.4#803005)