2020-03-20 16:15:52.654 ERROR 1070 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'notifySubscriberWorker': Invocation of init method failed; nested exception is org.apache.kafka.streams.errors.StreamsException: Found a null keyChangingChild node for OptimizableRepartitionNode{ BaseRepartitionNode{keySerde=org.apache.kafka.common.serialization.Serdes$StringSerde@126d8659, valueSerde=com.talentreef.recruit.kafka.GeneratedMessageSerde@28654aff, sinkName='KSTREAM-SINK-0000000004', sourceName='KSTREAM-SOURCE-0000000006', repartitionTopic='KSTREAM-AGGREGATE-STATE-STORE-0000000002-repartition', processorParameters=ProcessorParameters{processor class=class org.apache.kafka.streams.kstream.internals.KStreamFilter$KStreamFilterProcessor, processor name='KSTREAM-FILTER-0000000005'}', partitioner=null} StreamsGraphNode{nodeName='KSTREAM-SOURCE-0000000006', buildPriority=2, hasWrittenToTopology=false, keyChangingOperation=false, valueChangingOperation=false, mergeNode=false, parentNodes=[KSTREAM-TRANSFORM-0000000001]} } at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE] at com.talentreef.recruit.acl.RecruitAclApplication.main(RecruitAclApplication.java:10) ~[main/:na] Caused by: org.apache.kafka.streams.errors.StreamsException: Found a null keyChangingChild node for OptimizableRepartitionNode{ BaseRepartitionNode{keySerde=org.apache.kafka.common.serialization.Serdes$StringSerde@126d8659, valueSerde=com.talentreef.recruit.kafka.GeneratedMessageSerde@28654aff, sinkName='KSTREAM-SINK-0000000004', sourceName='KSTREAM-SOURCE-0000000006', repartitionTopic='KSTREAM-AGGREGATE-STATE-STORE-0000000002-repartition', processorParameters=ProcessorParameters{processor class=class org.apache.kafka.streams.kstream.internals.KStreamFilter$KStreamFilterProcessor, processor name='KSTREAM-FILTER-0000000005'}', partitioner=null} StreamsGraphNode{nodeName='KSTREAM-SOURCE-0000000006', buildPriority=2, hasWrittenToTopology=false, keyChangingOperation=false, valueChangingOperation=false, mergeNode=false, parentNodes=[KSTREAM-TRANSFORM-0000000001]} } at org.apache.kafka.streams.kstream.internals.InternalStreamsBuilder.maybeOptimizeRepartitionOperations(InternalStreamsBuilder.java:358) ~[kafka-streams-2.4.1.jar:na] at org.apache.kafka.streams.kstream.internals.InternalStreamsBuilder.maybePerformOptimizations(InternalStreamsBuilder.java:319) ~[kafka-streams-2.4.1.jar:na] at org.apache.kafka.streams.kstream.internals.InternalStreamsBuilder.buildAndOptimizeTopology(InternalStreamsBuilder.java:290) ~[kafka-streams-2.4.1.jar:na] at org.apache.kafka.streams.StreamsBuilder.build(StreamsBuilder.java:562) ~[kafka-streams-2.4.1.jar:na] at com.talentreef.recruit.kafka.KafkaWorker.createKafkaStreams(KafkaWorker.java:132) ~[kafka-commons-0.5.1.jar:na] at com.talentreef.recruit.kafka.KafkaWorker.startKafkaStreams(KafkaWorker.java:178) ~[kafka-commons-0.5.1.jar:na] at com.talentreef.recruit.kafka.KafkaWorker.start(KafkaWorker.java:91) ~[kafka-commons-0.5.1.jar:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] ... 18 common frames omitted