Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
A consumer that is manually assigned a topic-partition is able to consume messages that a consumer that subscribes to the topic can not.
To reproduce : take the test
EndToEndAuthorizationTest.testProduceConsume
(eg the SaslSslEndToEndAuthorizationTest implementation)
it passes ( = messages are consumed)
if the consumer is assigned the single topic-partition
consumers.head.assign(List(tp).asJava)
but fails
if the consumer subscribes to the topic - changing the line to :
consumers.head.subscribe(List(topic).asJava)
The failure when subscribed shows this error about synchronization:
org.apache.kafka.common.KafkaException: Unexpected error from SyncGroup: Messages are rejected since there are fewer in-sync replicas than required.
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator$SyncGroupResponseHandler.handle(AbstractCoordinator.java:455)
The test passes in both cases (subscribe and assign) with the setting
this.serverConfig.setProperty(KafkaConfig.MinInSyncReplicasProp, "1")