[
https://issues.apache.org/jira/browse/BEAM-6988?focusedWorklogId=241800&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-241800
]
ASF GitHub Bot logged work on BEAM-6988:
----------------------------------------
Author: ASF GitHub Bot
Created on: 14/May/19 15:33
Start Date: 14/May/19 15:33
Worklog Time Spent: 10m
Work Description: fredo838 commented on issue #8530: [BEAM-6988] solved
problem related to updates of the str object
URL: https://github.com/apache/beam/pull/8530#issuecomment-492191943
I tested
[this](https://github.com/apache/beam/blob/5c7ee600ba8560102f61622c894633955d208f87/sdks/python/apache_beam/typehints/decorators.py#L123-L148)
function, for python 2.7 - 3.5 - 3.6 - 3.7.
The result of calling `getfullargspec(str.split)`
2.7 FullArgSpec(args=['_'], ...)
3.5 FullArgSpec(args=['self'], ...)
3.6 FullArgSpec(args=['self'], ...)
3.7 FullArgSpec(args=['self', 'sep', 'maxsplit], ...)
Seems that is related to the 'monkeypatch' specified in
[here](https://github.com/apache/beam/blob/5c7ee600ba8560102f61622c894633955d208f87/sdks/python/apache_beam/typehints/decorators.py#L274),
which is already an issue in JIRA
([BEAM-5490])(https://issues.apache.org/jira/browse/BEAM-5490), which was
partially fixed by [PR-6781](https://github.com/apache/beam/pull/6781), but
this assumed all python 3 versions behaved the same. Author of this PR is
@tvalentyn , so I guess that makes a full circle. I think we need to rework the
typehints file to remove the monkey patch. It shouldn't be necessairy in
python3.7, because the `inspect` module _can_ now take str.split as input,
while it fails on python3.6 and python3.5. But then how would we go about on
python3.5-3.6? @tvalentyn thoughts?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 241800)
Time Spent: 2.5h (was: 2h 20m)
> TypeHints Py3 Error: test_non_function
> (apache_beam.typehints.typed_pipeline_test.MainInputTest) Fails on Python 3.7+
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: BEAM-6988
> URL: https://issues.apache.org/jira/browse/BEAM-6988
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-py-core
> Reporter: Robbe
> Assignee: niklas Hansson
> Priority: Major
> Time Spent: 2.5h
> Remaining Estimate: 0h
>
> {noformat}
> Traceback (most recent call last):
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/typed_pipeline_test.py",
> line 53, in test_non_function
> result = ['xa', 'bbx', 'xcx'] | beam.Map(str.strip, 'x')
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 510, in _ror_
> result = p.apply(self, pvalueish, label)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/pipeline.py",
> line 514, in apply
> transform.type_check_inputs(pvalueish)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 753, in type_check_inputs
> hints = getcallargs_forhints(argspec_fn, *type_hints[0], **type_hints[1])
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/decorators.py",
> line 283, in getcallargs_forhints
> raise TypeCheckError(e)
> apache_beam.typehints.decorators.TypeCheckError: strip() missing 1 required
> positional argument: 'chars'{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)