← Back to team overview

dhis2-devs team mailing list archive

Re: Upgrading from 2.6

 

I just upgraded from 2.13 to 2.14 and got this. Anything to be worried
about?

Regards,
jason


* INFO  2014-01-27 19:41:42,637 Hibernate configuration loaded, using
dialect: org.hibernate.dialect.PostgreSQLDialect
(DefaultHibernateConfigurationProvider.java [pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,475 HHH000388: Unsuccessful: alter table
datavalue add column attributeoptioncomboid int4 not null
(SchemaUpdate.java [pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,476 ERROR: column "attributeoptioncomboid"
contains null values (SchemaUpdate.java [pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,676 HHH000388: Unsuccessful: alter table
datavalue add constraint fk_datavalue_attributeoptioncomboid foreign key
(attributeoptioncomboid) references categoryoptioncombo (SchemaUpdate.java
[pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,677 ERROR: column "attributeoptioncomboid"
referenced in foreign key constraint does not exist (SchemaUpdate.java
[pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,681 HHH000388: Unsuccessful: alter table
datavalue_audit add constraint fk_datavalueaudit_datavalue foreign key
(dataelementid, periodid, sourceid, categoryoptioncomboid,
attributeoptioncomboid) references datavalue (SchemaUpdate.java
[pool-2-thread-1])
* ERROR 2014-01-27 19:42:01,688 ERROR: constraint
"fk_datavalueaudit_datavalue" for relation "datavalue_audit" already exists
(SchemaUpdate.java [pool-2-thread-1])
* INFO  2014-01-27 19:42:19,583 Found the following message senders:
[org.hisp.dhis.message.EmailMessageSender@142499c,
org.hisp.dhis.sms.SmsMessageSender@eed8ce] (DefaultMessageService.java
[pool-2-thread-1])



On Mon, Jan 20, 2014 at 10:23 PM, Lars Helge Øverland
<larshelge@xxxxxxxxx>wrote:

> Hi Jason,
>
> had a quick look. It seems the issue is that we have multiple startup
> routines, in this case first one DataElementDefaultDimensionPopulator
> that populates the default dimensional categories, then the TableAlteror
> which adds the new columns for dataelementcategory called "datadimensions".
> Now the problem is that the TableAlteror depends on the
> DataElementDefaultDimensionPopulator to have run earlier, and in this
> case, the DataElementDefaultDimensionPopulator depends on the TableAlteror
> to have run earlier.
>
> So fixing it would require us to start splitting up the TableAlteror. This
> problem will not surfeace unless upgrading from very old versions, or from
> deleting the default categories. We could look into it later. Your queries
> will fix the problem. I would have thrown in a check to avoid overwriting
> existing rows to be on the safe side:
>
> UPDATE dataelementcategory set datadimension=FALSE where datadimension IS
> NULL;
>
> cheers
>
> Lars
>
>
>
>
> On Mon, Jan 20, 2014 at 3:57 PM, Jason Pickering <
> jason.p.pickering@xxxxxxxxx> wrote:
>
>> Looks like there maybe something missing in the startup scripts. After
>> this..
>>
>> UPDATE dataelementcategory set datadimension=FALSE;
>> UPDATE dataelementcategory set dimensiontype='disaggregation';
>> UPDATE categorycombo set skiptotal = FALSE;
>>
>> Things seemed to work.
>>
>> Regards,
>> Jason
>>
>>
>>
>> On Mon, Jan 20, 2014 at 4:36 PM, Jason Pickering <
>> jason.p.pickering@xxxxxxxxx> wrote:
>>
>>> Hi there. Attempting to upgrade a rather old version of DHIS2 (versoin
>>> 2.6) and running into some issues, not surprisingly. I guess maybe
>>> upgrading to 2.14 might be too much to ask in one go, so maybe some advice
>>> there would be useful.
>>>
>>> Anyway, here is what I am getting from the latest 2.14.
>>>
>>> Any help appreciated.
>>>
>>> Regards,
>>> Jason
>>>
>>>
>>> Jan 20, 2014 2:32:06 PM org.apache.catalina.startup.HostConfig deployWAR
>>> INFO: Deploying web application archive
>>> /home/dhis/tomcat/webapps/dhis.war
>>> * INFO  2014-01-20 14:32:16,689 System property dhis2.home not set
>>> (DefaultLocationManager.java [pool-2-thread-1])
>>> * INFO  2014-01-20 14:32:16,694 Environment variable DHIS2_HOME points
>>> to /home/dhis/dhis_home (DefaultLocationManager.java [pool-2-thread-1])
>>> * INFO  2014-01-20 14:32:19,018 Hibernate configuration loaded, using
>>> dialect: org.hibernate.dialect.PostgreSQLDialect
>>> (DefaultHibernateConfigurationProvider.java [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,492 HHH000388: Unsuccessful: alter table
>>> datavalue_audit add constraint fk_datavalueaudit_datavalue foreign key
>>> (dataelementid, periodid, sourceid, categoryoptioncomboid,
>>> attributeoptioncomboid) references datavalue (SchemaUpdate.java
>>> [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,494 ERROR: constraint
>>> "fk_datavalueaudit_datavalue" for relation "datavalue_audit" already exists
>>> (SchemaUpdate.java [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,499 HHH000388: Unsuccessful: alter table
>>> mapview add constraint fk_mapview_maplegendsetid foreign key (legendsetid)
>>> references maplegendset (SchemaUpdate.java [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,500 ERROR: constraint
>>> "fk_mapview_maplegendsetid" for relation "mapview" already exists
>>> (SchemaUpdate.java [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,504 HHH000388: Unsuccessful: alter table
>>> validationrulegroupmembers add constraint
>>> fk_validationrulegroupmembers_validationrulegroupid foreign key
>>> (validationgroupid) references validationrulegroup (SchemaUpdate.java
>>> [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,505 ERROR: constraint
>>> "fk_validationrulegroupmembers_validationrulegroupid" for relation
>>> "validationrulegroupmembers" already exists (SchemaUpdate.java
>>> [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,510 HHH000388: Unsuccessful: alter table
>>> validationrulegroupuserrolestoalert add constraint
>>> fk_validationrulegroupuserrolestoalert_validationgroupid foreign key
>>> (validationgroupid) references validationrulegroup (SchemaUpdate.java
>>> [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:32:39,511 ERROR: constraint
>>> "fk_validationrulegroupuserrolestoalert_validationgroupid" for relation
>>> "validationrulegroupuserrolestoalert" already exists (SchemaUpdate.java
>>> [pool-2-thread-1])
>>> * INFO  2014-01-20 14:32:47,778 Found the following message senders:
>>> [org.hisp.dhis.message.EmailMessageSender@1d1f5801,
>>> org.hisp.dhis.sms.SmsMessageSender@74cab896]
>>> (DefaultMessageService.java [pool-2-thread-1])
>>> * INFO  2014-01-20 14:32:55,672 Detected apps: []
>>> (DefaultAppManager.java [pool-2-thread-1])
>>> * INFO  2014-01-20 14:33:00,922 Executing startup routine [1 of 11,
>>> runlevel 1]: PeriodTypePopulator (DefaultStartupRoutineExecutor.java
>>> [pool-2-thread-1])
>>> * INFO  2014-01-20 14:33:00,963 Executing startup routine [2 of 11,
>>> runlevel 1]: DataElementDefaultDimensionPopulator
>>> (DefaultStartupRoutineExecutor.java [pool-2-thread-1])
>>> * ERROR 2014-01-20 14:33:01,156 org.hibernate.PropertyAccessException:
>>> Null value was assigned to a property of primitive type setter of
>>> org.hisp.dhis.dataelement.DataElementCategory.dataDimension
>>>         at
>>> org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:108)
>>>         at
>>> org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:710)
>>>         at
>>> org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:371)
>>>         at
>>> org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:4499)
>>>         at
>>> org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:185)
>>>         at
>>> org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:137)
>>>         at
>>> org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1103)
>>>         at org.hibernate.loader.Loader.processResultSet(Loader.java:960)
>>>         at org.hibernate.loader.Loader.doQuery(Loader.java:910)
>>>         at
>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
>>>         at org.hibernate.loader.Loader.doList(Loader.java:2516)
>>>         at
>>> org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2361)
>>>         at org.hibernate.loader.Loader.list(Loader.java:2324)
>>>         at
>>> org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:490)
>>>         at
>>> org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
>>>         at
>>> org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
>>>         at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1268)
>>>         at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
>>>         at
>>> org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getAllEqName(HibernateIdentifiableObjectStore.java:146)
>>>         at
>>> org.hisp.dhis.dataelement.DefaultDataElementCategoryService.getDataElementCategoryByName(DefaultDataElementCategoryService.java:175)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>         at
>>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>         at
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>>>         at com.sun.proxy.$Proxy35.getDataElementCategoryByName(Unknown
>>> Source)
>>>         at
>>> org.hisp.dhis.dataelement.DataElementDefaultDimensionPopulator.execute(DataElementDefaultDimensionPopulator.java:101)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>         at
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>>>         at com.sun.proxy.$Proxy78.execute(Unknown Source)
>>>         at
>>> org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:115)
>>>         at
>>> org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:85)
>>>         at
>>> org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:68)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
>>>         at
>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
>>>         at
>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
>>>         at
>>> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
>>>         at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>>>         at
>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>>>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>>         at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>         at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>         at java.lang.Thread.run(Thread.java:724)
>>> Caused by: java.lang.IllegalArgumentException
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)
>>>         ... 65 more
>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs
>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>

Follow ups

References