[
https://issues.apache.org/jira/browse/BEAM-11050?focusedWorklogId=508523&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-508523
]
ASF GitHub Bot logged work on BEAM-11050:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 06/Nov/20 16:11
Start Date: 06/Nov/20 16:11
Worklog Time Spent: 10m
Work Description: iemejia edited a comment on pull request #13061:
URL: https://github.com/apache/beam/pull/13061#issuecomment-723113493
@echauchot The VR tests were breaking on this (I don't know why, maybe the
tests were improved). That's the reason why Luke did this PR, it was needed at
least for correctness. You can reproduce this by reverting this PR and running
the tests:
```
git revert 6264b47afd51d33d95d6c04a2106b4208a89ca41
./gradlew :runners:spark:validatesStructuredStreamingRunnerBatch
```
produces
```
org.apache.beam.sdk.transforms.CombineTest$WindowingTests >
testSlidingWindowsCombine FAILED
java.lang.AssertionError at CombineTest.java:1156
Caused by: java.lang.AssertionError at MatcherAssert.java:18
```
Something odd I noticed is that if you run the single test instance it
passes so I am not sure if there is some interleaving issue with other tests.
The VR suite of the Structured Streaming Runner has been broken since
September 10 also because of this issue and BEAM-11023 too.
http://104.154.241.245/d/8N6LVeCmk/post-commits-status-dashboard?refresh=30s&orgId=1
----------------------------------------------------------------
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: 508523)
Time Spent: 2h 40m (was: 2.5h)
> AggregatorCombiner reuses mutable accumT across multiple merges leading to
> incorrect results
> --------------------------------------------------------------------------------------------
>
> Key: BEAM-11050
> URL: https://issues.apache.org/jira/browse/BEAM-11050
> Project: Beam
> Issue Type: Bug
> Components: runner-spark
> Reporter: Luke Cwik
> Assignee: Luke Cwik
> Priority: P2
> Fix For: 2.26.0
>
> Time Spent: 2h 40m
> Remaining Estimate: 0h
>
> Example failure:
>
> [https://scans.gradle.com/s/lsf5y44b36pyc/tests/:runners:spark:validatesStructuredStreamingRunnerBatch/org.apache.beam.sdk.transforms.CombineTest$WindowingTests/testSlidingWindowsCombine#1]
> The test passes occassionaly and it depends on the order of merge/reduce
> steps that Spark does. A good run:
> {noformat}
> LCWIK merge accum1: [] accum2: [TimestampedValueInMultipleWindows{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> windows=[[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> [1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [] accum2: [TimestampedValueInMultipleWindows{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> windows=[[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [] accum2: [TimestampedValueInMultipleWindows{value=[a],
> timestamp=1970-01-01T00:00:00.001Z,
> windows=[[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> [1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, b},
> timestamp=1970-01-01T00:00:00.002Z,
> windows=[[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum: [] result:
> [TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, a},
> timestamp=1970-01-01T00:00:00.001Z,
> windows=[[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> [1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum: [] result:
> [TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, c},
> timestamp=1970-01-01T00:00:00.003Z,
> windows=[[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> [1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum: [] result:
> [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [] accum2: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}] rval: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}] accum2: [TimestampedValueInSingleWindow{value=[b,
> c], timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] rval: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] accum2: [TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, b, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] rval: [TimestampedValueInSingleWindow{value=[a],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, b, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> {noformat}
> Bad run:
> {noformat}
> LCWIK merge accum1: [] accum2: [TimestampedValueInMultipleWindows{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> windows=[[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> [1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [] accum2: [TimestampedValueInMultipleWindows{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> windows=[[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, c},
> timestamp=1970-01-01T00:00:00.003Z,
> windows=[[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> [1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum: [] result:
> [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, b},
> timestamp=1970-01-01T00:00:00.002Z,
> windows=[[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> [1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum: [] result:
> [TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}] accum2:
> [TimestampedValueInMultipleWindows{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> windows=[[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> [1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}}] rval:
> [TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK reduce value: TimestampedValueInMultipleWindows{value=KV{null, a},
> timestamp=1970-01-01T00:00:00.001Z,
> windows=[[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> [1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> [1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z)],
> pane=PaneInfo{isFirst=true, timing=EARLY, index=0}} accum:
> [TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}] result: [TimestampedValueInSingleWindow{value=[a,
> c], timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [] accum2: [TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] rval: [TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> LCWIK merge accum1: [TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] accum2: [TimestampedValueInSingleWindow{value=[b,
> a, c], timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}] rval: [TimestampedValueInSingleWindow{value=[a, c],
> timestamp=1970-01-01T00:00:00.001Z,
> window=[1969-12-31T23:59:59.999Z..1970-01-01T00:00:00.002Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[c],
> timestamp=1970-01-01T00:00:00.005Z,
> window=[1970-01-01T00:00:00.003Z..1970-01-01T00:00:00.006Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, a, c],
> timestamp=1970-01-01T00:00:00.003Z,
> window=[1970-01-01T00:00:00.001Z..1970-01-01T00:00:00.004Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, c],
> timestamp=1970-01-01T00:00:00.004Z,
> window=[1970-01-01T00:00:00.002Z..1970-01-01T00:00:00.005Z),
> pane=PaneInfo.NO_FIRING}, TimestampedValueInSingleWindow{value=[b, a, c],
> timestamp=1970-01-01T00:00:00.002Z,
> window=[1970-01-01T00:00:00.000Z..1970-01-01T00:00:00.003Z),
> pane=PaneInfo.NO_FIRING}]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)