-
Type:
Bug
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 0.10.0.1
-
Component/s: None
-
Labels:None
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")