lucasbru commented on code in PR #20123:
URL: https://github.com/apache/kafka/pull/20123#discussion_r2191800588


##########
streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/JoinWithIncompleteMetadataIntegrationTest.java:
##########
@@ -87,10 +90,16 @@ public void cleanup() throws InterruptedException, 
IOException {
         IntegrationTestUtils.purgeLocalStreamsState(STREAMS_CONFIG);
     }
 
-    @Test
-    public void testShouldAutoShutdownOnJoinWithIncompleteMetadata() throws 
InterruptedException {
+    @ParameterizedTest
+    @ValueSource(booleans = {false, true})
+    public void testShouldAutoShutdownOnJoinWithIncompleteMetadata(final 
boolean useNewProtocol) throws InterruptedException {
         STREAMS_CONFIG.put(StreamsConfig.APPLICATION_ID_CONFIG, APP_ID);
         STREAMS_CONFIG.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, 
CLUSTER.bootstrapServers());
+        
+        // set group protocol according to parameter

Review Comment:
   nit: I'd omit inline comments that don't add any new information



##########
streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamThreadTest.java:
##########
@@ -3873,6 +3874,15 @@ public void 
testStreamsProtocolRunOnceWithoutProcessingThreads() {
         ));
         thread.runOnceWithoutProcessingThreads();
         verify(shutdownErrorHook).run();
+
+        // Test MISSING_SOURCE_TOPICS status

Review Comment:
   Can you please add a separate unit test for this?



##########
streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/HandlingSourceTopicDeletionIntegrationTest.java:
##########
@@ -91,6 +95,11 @@ public void shouldThrowErrorAfterSourceTopicDeleted(final 
TestInfo testName) thr
         
streamsConfiguration.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, 
Serdes.String().getClass());
         streamsConfiguration.put(StreamsConfig.NUM_STREAM_THREADS_CONFIG, 
NUM_THREADS);
         streamsConfiguration.put(StreamsConfig.METADATA_MAX_AGE_CONFIG, 2000);
+        
+        // set group protocol according to parameter

Review Comment:
   nit: I'd omit inline comments that don't add any new information



##########
streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamThreadTest.java:
##########
@@ -3932,6 +3942,15 @@ public void 
testStreamsProtocolRunOnceWithProcessingThreads() {
         ));
         thread.runOnceWithProcessingThreads();
         verify(shutdownErrorHook).run();
+
+        // Test MISSING_SOURCE_TOPICS status

Review Comment:
   Can you please add a separate unit test for this?



##########
streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamThread.java:
##########
@@ -1536,6 +1537,10 @@ public void handleStreamsRebalanceData() {
             for (final StreamsGroupHeartbeatResponseData.Status status : 
streamsRebalanceData.get().statuses()) {
                 if (status.statusCode() == 
StreamsGroupHeartbeatResponse.Status.SHUTDOWN_APPLICATION.code()) {
                     shutdownErrorHook.run();
+                } else if (status.statusCode() == 
StreamsGroupHeartbeatResponse.Status.MISSING_SOURCE_TOPICS.code()) {
+                    final String errorMsg = "Missing source topics";
+                    log.error(errorMsg);
+                    throw new MissingSourceTopicException(errorMsg);

Review Comment:
   We definitely need a better error message here. The 
`StreamsGroupHeartbeatResponse` contains a `statusDetail`. Could we bring it to 
this exception?



-- 
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

Reply via email to