← Back to team overview

dhis2-devs team mailing list archive

Re: Upgrading from 2.6

 

Good. Problem is that 2.14 changes the primary on datavalue which will fail
with nulls in a not-null column, and hibernate tries to perform the schema
change before the dhis startup scripts get a chance to run. So next time
you start the update has been taken care of.


On Mon, Jan 27, 2014 at 9:12 PM, Jason Pickering <
jason.p.pickering@xxxxxxxxx> wrote:

> Yup. Seems to go away after kill/restart.
>
>
>
> On Mon, Jan 27, 2014 at 8:00 PM, Lars Helge Øverland <larshelge@xxxxxxxxx>wrote:
>
>> Can you try to stop and restart again and see if it goes away?
>>
>> Lars
>>
>>
>> On Mon, Jan 27, 2014 at 7:44 PM, Jason Pickering <
>> jason.p.pickering@xxxxxxxxx> wrote:
>>
>>> 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
>>>>>
>>>>>
>>>>
>>>
>>
>

References