[
https://issues.apache.org/jira/browse/BEAM-10697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17180196#comment-17180196
]
Udi Meiri commented on BEAM-10697:
----------------------------------
The bug title is misleading.
Since Beam is converting ByteString to Any, the resulting hint is less strict.
It will weakens type checking in certain cases, but not break existing
pipelines.
I wouldn't count this as a regression but put it as a known issue in the
release blog.
No idea how likely it is (root cause is unknown).
It only affects users who launch jobs from a virtualenv with cython installed.
One workaround would be to uninstall cython and apache-beam and reinstall only
apache-beam.
> Python Precommit failing due to type check failure.
> ---------------------------------------------------
>
> Key: BEAM-10697
> URL: https://issues.apache.org/jira/browse/BEAM-10697
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core, test-failures
> Reporter: Daniel Oliveira
> Assignee: Udi Meiri
> Priority: P0
> Fix For: 2.24.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Test suite: https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/
> First failure: https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/3110/
> Looks like it's failing for about a day now.
> Error:
> {noformat}
> self = <apache_beam.transforms.ptransform_test.PTransformTypeCheckTestCase
> testMethod=test_pardo_properly_type_checks_using_type_hint_decorators>
> def test_pardo_properly_type_checks_using_type_hint_decorators(self):
> @with_input_types(a=str)
> @with_output_types(typing.List[str])
> def to_all_upper_case(a):
> return [a.upper()]
>
> # If this type-checks than no error should be raised.
> d = (
> self.p
> | 'T' >> beam.Create(['t', 'e', 's', 't']).with_output_types(str)
> | 'Case' >> beam.FlatMap(to_all_upper_case))
> assert_that(d, equal_to(['T', 'E', 'S', 'T']))
> self.p.run()
>
> # Output type should have been recognized as 'str' rather than
> List[str] to
> # do the flatten part of FlatMap.
> > self.assertEqual(str, d.element_type)
> E AssertionError: <type 'str'> != Any
> apache_beam/transforms/ptransform_test.py:1182: AssertionError
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)