eventuate-examples / eventuate-examples-java-customers-and-orders

Java version of the Customers and Orders event sourcing example from my presentations
391 stars 204 forks source link

orderhistoryqueryside consistently times out on Kafka #19

Open Bert-R opened 6 years ago

Bert-R commented 6 years ago

I'm trying to run this sample on Windows. Everything starts up nicely except for the order history query side service. There I get this exception:

14:06:27.635  WARN  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderHistoryViewWorkflow' defined in class path resource [net/chrisrichardson/eventstore/examples/customersandorders/ordershistoryviewservice/backend/OrderHistoryViewBackendConfiguration.class]: Initialization of bean failed; nested exception is java.lang.RuntimeException: java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
14:06:29.715  INFO  o.s.b.a.l.AutoConfigurationReportLoggingInitializer -

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
14:06:29.720  ERROR o.s.boot.SpringApplication - Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderHistoryViewWorkflow' defined in class path resource [net/chrisrichardson/eventstore/examples/customersandorders/ordershistoryviewservice/backend/OrderHistoryViewBackendConfiguration.class]: Initialization of bean failed; nested exception is java.lang.RuntimeException: java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
        at net.chrisrichardson.eventstore.examples.customersandorders.ordershistoryviewservice.OrderHistoryQuerySideService.main(OrderHistoryQuerySideService.java:19)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
        at io.eventuate.local.java.kafka.consumer.EventuateKafkaConsumer.start(EventuateKafkaConsumer.java:115)
        at io.eventuate.local.java.jdbckafkastore.EventuateKafkaAggregateSubscriptions.subscribe(EventuateKafkaAggregateSubscriptions.java:85)
        at io.eventuate.javaclient.commonimpl.EventuateAggregateStoreImpl.subscribe(EventuateAggregateStoreImpl.java:158)
        at io.eventuate.javaclient.spring.EventDispatcherInitializer.registerEventHandler(EventDispatcherInitializer.java:105)
        at io.eventuate.javaclient.spring.EventHandlerBeanPostProcessor.postProcessBeforeInitialization(EventHandlerBeanPostProcessor.java:25)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        ... 23 common frames omitted
Caused by: java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
        at io.eventuate.local.java.kafka.consumer.EventuateKafkaConsumer.verifyTopicExistsBeforeSubscribing(EventuateKafkaConsumer.java:48)
        at io.eventuate.local.java.kafka.consumer.EventuateKafkaConsumer.start(EventuateKafkaConsumer.java:70)
        ... 30 common frames omitted
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

Any idea what I can do to resolve this? The DOCKER_HOST_IP is set correctly.

Bert-R commented 6 years ago

Earlier, I set DOCKER_HOST_IP to the host name. Now I retried with the IP address and it works fine. You might want to remove the phrase "or resolvable hostname" from the documentation.