lianetm commented on code in PR #14640: URL: https://github.com/apache/kafka/pull/14640#discussion_r1412390835
########## clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/ApplicationEventProcessor.java: ########## @@ -181,11 +183,13 @@ private void process(final ListOffsetsApplicationEvent event) { * it is already a member. */ private void processSubscriptionChangeEvent() { - if (!requestManagers.membershipManager.isPresent()) { - throw new RuntimeException("Group membership manager not present when processing a " + - "subscribe event"); + if (!requestManagers.heartbeatRequestManager.isPresent()) { + KafkaException error = new KafkaException("Group membership manager not present when processing a subscribe event"); Review Comment: I expect this would only be the case of a bug in our code, so a `RuntimeException` that would fail the background thread (and therefore the consumer) seemed simple and enough. Is there a reason why we need all the logic to pass this failure to the app thread? -- 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