beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEAM-175) Leak garbage collection timers in GlobalWindow
Date Wed, 06 Apr 2016 21:42:25 GMT

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

ASF GitHub Bot commented on BEAM-175:
-------------------------------------

GitHub user mshields822 opened a pull request:

    https://github.com/apache/incubator-beam/pull/139

    [BEAM-175] Don't leak state in Global window.

    * Delete end-of-window timer after triggering if there's no
      state left to garbage collect.
    * Avoid holds and end-of-time.
    * Avoid requiring previous pane info in global window.
    * Protect against overflow with GlobalWindow.maxTimestamp
      and getAllowedLateness.
    
    **Rough cut for comments**

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mshields822/incubator-beam beam-175

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-beam/pull/139.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #139
    
----
commit e1ef963c4b3ccff3fa792c877a34893a2d2ea117
Author: Mark Shields <markshields@google.com>
Date:   2016-04-06T04:11:32Z

    Delete end-of-window timer after triggering if there's no
    state left to garbage collect.
    
    Avoid holds and end-of-time.
    
    Avoid requiring previous pane info in global window.
    
    Protect against overflow with GlobalWindow.maxTimestamp
    and getAllowedLateness.
    
    **Rough cut**

----


> Leak garbage collection timers in GlobalWindow
> ----------------------------------------------
>
>                 Key: BEAM-175
>                 URL: https://issues.apache.org/jira/browse/BEAM-175
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-core
>            Reporter: Mark Shields
>            Assignee: Mark Shields
>
> Consider the  transform:
>   Window
>     .into(new GlobalWindows())
>     .triggering(
>       Repeatedly.forever(
>         AfterProcessingTime.pastFirstElementInPane().plusDelayOf(...)))
>     .discardingFiredPanes()
> This is a common idiom for 'process elements bunched by arrival time'.
> Currently we create an end-of-window timer per key, which clearly will only fire if the
pipeline is drained.
> Better would be to avoid creating end-of-window timers if there's no state which needs
to be processed at end-of-window (ie at drain if the Global window).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message