Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/5940#discussion_r186036107 --- Diff: flink-libraries/flink-table/src/test/scala/org/apache/flink/table/runtime/stream/sql/SqlITCase.scala --- @@ -52,6 +52,76 @@ class SqlITCase extends StreamingWithStateTestBase { (8000L, "8", "Hello World"), (20000L, "20", "Hello World")) + @Test + def testDistinctAggWithMergeOnEventTimeSessionGroupWindow(): Unit = { + // create a watermark with 10ms offset to delay the window emission by 10ms to verify merge + val sessionWindowTestdata = List( + (1L, 1, "Hello"), --- End diff -- To check the correct merge behavior, we need two windows which aggregate the same value that is than deduplicated in merge. Some data like: ``` (1L, 2, "Hello"), // 1. Hello window (2L, 2, "Hello"), // 1. Hello window, deduped (8L, 2, "Hello"), // 2. Hello window, deduped during merge (10L, 3, "Hello"), // 2. Hello window, forwarded during merge (9L, 9, "Hello World"), // 1. Hello World window (4L, 1, "Hello"), // 1. Hello window, triggering merge of 1. and 2. Hello windows (16L, 16, "Hello")) // 3. Hello window (not merged) ```
---