vcrfxia commented on code in PR #13656: URL: https://github.com/apache/kafka/pull/13656#discussion_r1183071555
########## streams/src/test/java/org/apache/kafka/streams/tests/StreamsUpgradeTest.java: ########## @@ -143,6 +173,94 @@ private static void buildFKTable(final KStream<String, Integer> primaryTable, kStream.to("fk-result", Produced.with(stringSerde, stringSerde)); } + private static void buildTableAgg(final KTable<String, Integer> sourceTable, + final String aggProduceValue, + final List<String> expectedAggValues) { + final KStream<Integer, String> result = sourceTable + .groupBy( + (k, v) -> new KeyValue<>(v, aggProduceValue), + Grouped.with(intSerde, stringSerde)) + .aggregate( + () -> new Agg(Collections.emptyList(), 0), + (k, v, agg) -> { + final List<String> seenValues; + final boolean updated; + if (!agg.seenValues.contains(v)) { + seenValues = new ArrayList<>(agg.seenValues); + seenValues.add(v); + Collections.sort(seenValues); + updated = true; + } else { + seenValues = agg.seenValues; + updated = false; + } + + final boolean shouldLog = updated || (agg.recordsProcessed % 10 == 0); // value of 10 is chosen for debugging purposes. can increase to 100 once test is passing. + if (shouldLog) { Review Comment: Ah, must've put that in for debugging and forgotten to leave a note. The new mechanism makes sense 👍 If you think `recordsProcessed % 10` is the right frequency, rather than `recordsProcessed % 100`, then perhaps we can remove the comment entirely and just leave it as `recordsProcessed % 10`. -- 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. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org