diff --git a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerCoordinator.java b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerCoordinator.java index 260756bbcd3..3aef0c5257c 100644 --- a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerCoordinator.java +++ b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerCoordinator.java @@ -810,16 +810,17 @@ public final class ConsumerCoordinator extends AbstractCoordinator { } final Generation generation; - if (subscriptions.partitionsAutoAssigned()) + if (subscriptions.partitionsAutoAssigned()) { generation = generation(); - else + // if the generation is null, we are not part of an active group (and we expect to be). + // the only thing we can do is fail the commit and let the user rejoin the group in poll() + if (generation == null) { + log.info("Failing OffsetCommit request since the consumer is not part of an active group"); + return RequestFuture.failure(new CommitFailedException()); + } + } else generation = Generation.NO_GENERATION; - // if the generation is null, we are not part of an active group (and we expect to be). - // the only thing we can do is fail the commit and let the user rejoin the group in poll() - if (generation == null) - return RequestFuture.failure(new CommitFailedException()); - OffsetCommitRequest.Builder builder = new OffsetCommitRequest.Builder( new OffsetCommitRequestData() .setGroupId(this.groupId)