Kafka流:再平衡期间的存储状态

j8yoct9x  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(347)

在定期执行标点方法遍历迭代器的过程中,如果发生重新平衡,下面的循环会停止还是抛出异常?或者它会自动恢复,如果会,它会用相同的分区碎片恢复吗?

KeyValue<String, House> curr;
    KeyValueIterator<String, House> houseIterator = houseStore.all();
    while (houseIterator.hasNext()) {
        j++;
        curr = houseIterator.next();
        houseStore.delete(curr.key);
    }
    houseIterator.close();
nbnkbykc

nbnkbykc1#

执行线程不会调用 KafkaConsumer#poll() 直到 punctuate() 完成了。因此,线程(即, punctuate )将继续运行。
如果 punctuate() 完成前 max.poll.interval.ms 通过后,它将正确地重新平衡。如果 punctuate 完成时间 max.poll.interval.ms 使用者将退出使用者组,并且它可能会被重新分配分区。但是,这取决于 punctuate ,不会被注意到 punctuate 可能还会结束。稍后,什么时候 poll 则示例将通过另一个重新平衡重新加入组。
但是请注意,建议配置 max.poll.interval.ms 这样,示例就不会首先从消费者组中退出。即,该值应设置为大于 punctuate .

相关问题