'When Kafka consumer don't use subscribe method, do it check session.timeout.ms or max.pool.interval.ms?
this is consumer code with not using subscribe method.
val consumer = KafkaConsumer<String, String>(properties)
val topics = listOf(TopicPartition("TEST", 1)
consumer.assgin(topics)
try {
do {
val records = consumer.poll(Duration.ofMillis(1000))
records.forEach {
println("result : $it")
}
} while (!records.isEmpty)
} catch (e: Exception) {
println(e.message)
} finally {
consumer.close()
}
do it check session.timeout.ms, max.pool.interval.ms or hearbeat.interval.ms? i think if kafka consumer don't use subscribe method, it don't check.
Solution 1:[1]
Both subscribe() and assign() will check for session.timeout.ms,max.pool.interval.ms and other properties that you specify during consumer creation.
Difference between subscribe() and assign() is that when using
subscribe() uses
group-idin the consumer properties and helps in dynamic partition assignment and consumer group coordination
assign will manually assign a list of partitions to this consumer. and this method does not use the consumer's group management functionality (where no need of
group.id)
More information here : https://stackoverflow.com/questions/53938125/kafkaconsumer-java-api-subscribe-vs-assign#:~:text=Subscribe%20makes%20use%20of%20the,to%20a%20list%20of%20topics.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Umeshwaran |
