>Having the end of the GlobalWindow be max - 1 day seems rather arbitrary.
Yes, it is arbitrary. The reason is stated in `GlobalWindow` (just restating in case somebody didn't have the chance to look it up): ``` // Triggers use maxTimestamp to set timers' timestamp. Timers fires when // the watermark passes their timestamps. So, the maxTimestamp needs to be // smaller than the TIMESTAMP_MAX_VALUE. // One standard day is subtracted from TIMESTAMP_MAX_VALUE to make sure // the maxTimestamp is smaller than TIMESTAMP_MAX_VALUE even after rounding up // to seconds or minutes. ``` >I think it'd be worth doing at least a cursory exploration into what it would >take to "fix" Java. If that's too hard, at least we should make this a proto >value (in standard windows perhaps)? I suppose it would work to trigger all windows when the Watermark is at MAX_TIMESTAMP. However, that is a change in semantics, since the max window timestamp normally needs to be larger than the current Watermark. Since we can't make any further progress, that could be ok. Otherwise, implementing the GlobalWindow timestamp in the RunnerAPI would be the most portable approach. [ Full content available at: https://github.com/apache/beam/pull/6315 ] This message was relayed via gitbox.apache.org for [email protected]
