fqaiser94 commented on code in PR #13656: URL: https://github.com/apache/kafka/pull/13656#discussion_r1190412985
########## tests/kafkatest/tests/streams/streams_upgrade_test.py: ########## @@ -236,6 +237,96 @@ def test_rolling_upgrade_with_2_bounces(self, from_version, to_version): self.stop_and_await() + @cluster(num_nodes=6) + @matrix(from_version=table_agg_versions, to_version=[str(DEV_VERSION)]) + def test_rolling_upgrade_for_table_agg(self, from_version, to_version): + """ + This test verifies that the cluster successfully upgrades despite changes in the table + repartition topic format. + + Starts 3 KafkaStreams instances with version <from_version> and upgrades one-by-one to <to_version> + """ + + extra_properties = {'test.run_table_agg': 'true'} + + self.set_up_services() + + self.driver.start() + + # encoding different target values for different versions + # - old version: value=A + # - new version with `upgrade_from` flag set: value=B + # - new version w/o `upgrade_from` set set: value=C + + extra_properties = extra_properties.copy() + extra_properties['test.agg_produce_value'] = 'A' + extra_properties['test.expected_agg_values'] = 'A' + self.start_all_nodes_with(from_version, extra_properties) + + counter = 1 + random.seed() + + # rolling bounce + random.shuffle(self.processors) + p3 = self.processors[-1] + for p in self.processors: + p.CLEAN_NODE_ENABLED = False + Review Comment: ```suggestion self.wait_for_table_agg_success('A') ``` nit: could we add this assertion here? This is more to "set the stage" for readers of the code and make the state transitions happening in the test easier to grasp. My understanding of the situation at this point in the code is as follows: ![image](https://github.com/apache/kafka/assets/20507243/dc5c5c90-8f28-42dd-8d38-4ec55bd12e29) -- 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