KAFKA_TRACKER error on DHIS 2.29

Dear all,

I am getting a kafka tracker error on 2.29. Kindly assist with a solution.

My log extract is below:

java.io.InvalidObjectException: enum constant KAFKA_TRACKER does not exist in class org.hisp.dhis.scheduling.JobType
Caused by: java.lang.IllegalArgumentException: No enum constant org.hisp.dhis.scheduling.JobType.KAFKA_TRACKER

INFO: Initializing Spring root WebApplicationContext

Aug 16, 2018 1:50:04 PM org.apache.catalina.core.StandardContext listenerStart

SEVERE: Exception sending context initialized event to listener instance of class org.hisp.dhis.system.startup.StartupListener

java.lang.RuntimeException: Failed to run startup routines: could not deserialize

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:77)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: org.hibernate.type.SerializationException: could not deserialize

at org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:231)

at org.hibernate.internal.util.SerializationHelper.deserialize(SerializationHelper.java:287)

at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.fromBytes(SerializableTypeDescriptor.java:139)

at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:114)

at org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:28)

at org.hibernate.type.descriptor.sql.VarbinaryTypeDescriptor$2.doExtract(VarbinaryTypeDescriptor.java:60)

at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:47)

at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:260)

at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:256)

at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:246)

at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:332)

at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2854)

at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1757)

at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1683)

at org.hibernate.loader.Loader.getRow(Loader.java:1572)

at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:742)

at org.hibernate.loader.Loader.processResultSet(Loader.java:1001)

at org.hibernate.loader.Loader.doQuery(Loader.java:959)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:351)

at org.hibernate.loader.Loader.doList(Loader.java:2702)

at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2547)

at org.hibernate.loader.Loader.list(Loader.java:2509)

at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1898)

at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:366)

at org.hisp.dhis.hibernate.HibernateGenericStore.getAll(HibernateGenericStore.java:702)

at org.hisp.dhis.scheduling.DefaultJobConfigurationService.getAllJobConfigurations(DefaultJobConfigurationService.java:108)

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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)

at com.sun.proxy.$Proxy125.getAllJobConfigurations(Unknown Source)

at org.hisp.dhis.startup.SchedulerStart.execute(SchedulerStart.java:102)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:113)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:70)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

… 13 more

Caused by: java.io.InvalidObjectException: enum constant KAFKA_TRACKER does not exist in class org.hisp.dhis.scheduling.JobType

at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1972)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1532)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

at org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:225)

… 56 more

Caused by: java.lang.IllegalArgumentException: No enum constant org.hisp.dhis.scheduling.JobType.KAFKA_TRACKER

at java.lang.Enum.valueOf(Enum.java:238)

at java.io.ObjectInputStream.readEnum(ObjectInputStream.java:1969)

… 59 more

Aug 16, 2018 1:50:04 PM org.apache.catalina.core.ApplicationContext log

INFO: Closing Spring root WebApplicationContext

thank you

Dr David

Hi

This is happening because you have tried to run your 2.29 server with a 2.30 database at some point (this was only added in 2.30), this is absolute not recommended and you can’t switch between versions like this.

For fixing this particular issue you can do:

delete from jobconfiguration where name=‘Kafka Tracker Consume’;

···

Morten Olav Hansen

Senior Engineer, DHIS 2

Team Integration Lead

University of Oslo

http://www.dhis2.org