You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Clint Priest (Jira)" <ji...@apache.org> on 2020/05/15 22:39:00 UTC

[jira] [Comment Edited] (BEAM-7514) Support streaming on the Python fn_api_runner

    [ https://issues.apache.org/jira/browse/BEAM-7514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17108684#comment-17108684 ] 

Clint Priest edited comment on BEAM-7514 at 5/15/20, 10:38 PM:
---------------------------------------------------------------

The specific exception I'm getting is this:
{code:java}
  File "C:\code\python\venv\beam\lib\site-packages\apache_beam\transforms\trigger.py", line 782, in get_current_time
    return self._clock.time()
AttributeError: 'NoneType' object has no attribute 'time'
{code}
I traced this back a few steps, more during the setup/initialization and found this comment in `fn_api_runner.py:389`
{code:java}
# TODO(pabloem, BEAM-7514): Trigger driver needs access to the clock
#   note that this only comes through if windowing is default - but what
#   about having multiple firings on the global window.
#   May need to revise.
{code}
The cause is related to using a WindowInto on a bounded source, here are my WindowInto lines:
{code:java}
| beam.WindowInto(
    window.GlobalWindows(),
    trigger=trigger.Repeatedly(
        trigger.AfterAny(
            trigger.AfterCount(10),
            trigger.AfterProcessingTime(1 * 60),
        ),
    ),
    accumulation_mode=AccumulationMode.DISCARDING
)
{code}
If I comment out the AfterProcessingTime() then the error doesn't show (but windowing doesn't seem to work at all); after the first GroupByKey() I have an empty collection.


was (Author: cpriest):
The specific exception I'm getting is this:

 
{code:java}
  File "C:\code\python\venv\beam\lib\site-packages\apache_beam\transforms\trigger.py", line 782, in get_current_time
    return self._clock.time()
AttributeError: 'NoneType' object has no attribute 'time'
{code}
I traced this back a few steps, more during the setup/initialization and found this comment in `fn_api_runner.py:389`

 

 
{code:java}
# TODO(pabloem, BEAM-7514): Trigger driver needs access to the clock
#   note that this only comes through if windowing is default - but what
#   about having multiple firings on the global window.
#   May need to revise.
{code}
 

The cause is related to using a WindowInto on a bounded source, here are my WindowInto lines:

 
{code:java}
| beam.WindowInto(
    window.GlobalWindows(),
    trigger=trigger.Repeatedly(
        trigger.AfterAny(
            trigger.AfterCount(10),
            trigger.AfterProcessingTime(1 * 60),
        ),
    ),
    accumulation_mode=AccumulationMode.DISCARDING
)
{code}
If I comment out the AfterProcessingTime() then the error doesn't show (but windowing doesn't seem to work at all); after the first GroupByKey() I have an empty collection.

 

 

> Support streaming on the Python fn_api_runner
> ---------------------------------------------
>
>                 Key: BEAM-7514
>                 URL: https://issues.apache.org/jira/browse/BEAM-7514
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>            Reporter: Pablo Estrada
>            Assignee: Pablo Estrada
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)