Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.2.0, 1.3.0
    • Component/s: Streaming
    • Labels:
      None

      Description

      Right now, when a Trigger returns TriggerResult.PURGE from any of the on*() methods the WindowOperator will clear all state of that window (window contents, merging window set) and call Trigger.clear() so that the Trigger can clean up its state/timers.

      This is problematic in some cases. For example, with merging windows (session windows) this means that a late-arriving element will not be put into the session that was previously built up but will be put into a completely new session that only contains this one element.

      The proposed new behaviour is this:

      • Only clean window contents on PURGE
      • Register cleanup timer for any window, don't delete this on PURGE
      • When the cleanup timer fires: clean window state, clean merging window set, call Trigger.clear() to allow it to clean state/timers

      Together with FLINK-4415 this would give the trigger the power to purge state and window contents separately.

        Activity

        Hide
        aljoscha Aljoscha Krettek added a comment -

        Implemented on master in:
        0b331a421267a541d91e94f2713534704ed32bed

        Show
        aljoscha Aljoscha Krettek added a comment - Implemented on master in: 0b331a421267a541d91e94f2713534704ed32bed
        Hide
        aljoscha Aljoscha Krettek added a comment -

        Implemented on release-1.2 in:
        a9189c2055fd3c10d741f63208aadca7fb4218f5

        Show
        aljoscha Aljoscha Krettek added a comment - Implemented on release-1.2 in: a9189c2055fd3c10d741f63208aadca7fb4218f5

          People

          • Assignee:
            aljoscha Aljoscha Krettek
            Reporter:
            aljoscha Aljoscha Krettek
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development