Сессия ZooKeeper истекла в тестах

Я использую EmbeddedKafka для тестирования моего модуля со следующей конфигурацией аннотаций:

@ExtendWith(SpringExtension.class)
@SpringBootTest
@TestPropertySource(locations = "classpath:test.properties")
@EmbeddedKafka(partitions = 1,
    topics = {"topic"},
    brokerProperties = {
        "auto.create.topics.enable=${topics.autoCreate:false}",
        "delete.topic.enable=${topic.delete:true}",
        "broker.id=2"})

Это работает в большинстве случаев.

Но иногда это не удается при создании весеннего контекста, потому что время сеанса zookeeper истекло:

java.lang.IllegalStateException: не удалось загрузить ApplicationContext в

...

в java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) в java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6grain или org.ing).concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) в java.base/java.lang.Thread.run(Thread.java:834) Вызвано: org.springframework.beans.factory.BeanCreationException: ошибка с именем 'embeddedKafka': сбой вызова метода init; вложенное исключение составляет org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Сессия просрочена на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:410) в org.springframework.kafka.test.context.EmbeddedKafkaContextCustomizer.customizeContext(EmbeddedKafkaContextCustomizer.java:106) в org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:320) по адресу org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:649) по адресу org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:373) по адресу org.springframework. Spring.pplication.prot. Java:314) в org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader. Еще 73 причины: org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Срок действия сеанса истек в org.apache.zookeeper.KeeperException.create(KeeperException.java:130) в kafka.zk.KafkaZkCliheralEZ 1631) по адресу kafka.zk.KafkaZkClient.registerBroker(KafkaZkClient.scala:87) по адресу kafka.server.KafkaServer.startup(KafkaServer.scala:257) по адресу kafka.utils.TestUtils$.createSerala at:132UU.utils.TestUtils.createServer(TestUtils.scala) в org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:215) в org.springframework.beans.factory.support.Abab. eBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireFable

Кто-то знает, почему это случилось? Зачем вообще нужен ZooKeeper при использовании EmbeddedKafka??

Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам