Looking at the code in KafkaMessageListenerContainer
can't see anything that promises that polling (getting assigned partitions) from a thread distinct from the consumer's thread allows to observe consistent state of the assignedPartitions collection.
Please correct me if I'm wrong.