← Back to team overview

dhis2-devs team mailing list archive

[Bug 527071] [NEW] Updating the Organisation Unit Level table throws an exception

 

Public bug reported:

When trying to update the organisation unit level table, the following
exception is thrown.

 [-]  Exception (org.hibernate.exception.ConstraintViolationException):
could not execute update query

    * org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
    * org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    * org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:84)
    * org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:396)
    * org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:259)
    * org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1141)
    * org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
    * org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore.deleteOrganisationUnitLevels(HibernateOrganisationUnitStore.java:338)
    * org.hisp.dhis.organisationunit.DefaultOrganisationUnitService.deleteOrganisationUnitLevels(DefaultOrganisationUnitService.java:503)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    * $Proxy9.deleteOrganisationUnitLevels(Unknown source)
    * org.hisp.dhis.oum.action.organisationunitlevel.SaveOrganisationUnitLevelsAction.execute(SaveOrganisationUnitLevelsAction.java:66)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:117)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:94)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
    * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
    * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    * org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    * java.lang.Thread.run(Thread.java:619)

[-] Caused by (org.postgresql.util.PSQLException): ERROR: update or
delete on table "orgunitlevel" violates foreign key constraint
"fk_map_organisationunitlevelid" on table "map" Detail: Key
(orgunitlevelid)=(110789) is still referenced from table "map".

    * org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
    * org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
    * org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:321)
    * com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
    * org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:75)
    * org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:396)
    * org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:259)
    * org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1141)
    * org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
    * org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore.deleteOrganisationUnitLevels(HibernateOrganisationUnitStore.java:338)
    * org.hisp.dhis.organisationunit.DefaultOrganisationUnitService.deleteOrganisationUnitLevels(DefaultOrganisationUnitService.java:503)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    * $Proxy9.deleteOrganisationUnitLevels(Unknown source)
    * org.hisp.dhis.oum.action.organisationunitlevel.SaveOrganisationUnitLevelsAction.execute(SaveOrganisationUnitLevelsAction.java:66)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:117)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:94)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
    * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
    * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    * org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    * java.lang.Thread.run(Thread.java:619)

** Affects: dhis2
     Importance: Undecided
         Status: New

-- 
Updating the Organisation Unit Level  table throws an exception
https://bugs.launchpad.net/bugs/527071
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.

Status in DHIS 2 - District Health Information Software: New

Bug description:
When trying to update the organisation unit level table, the following exception is thrown. 

 [-]  Exception (org.hibernate.exception.ConstraintViolationException): could not execute update query

    * org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
    * org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    * org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:84)
    * org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:396)
    * org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:259)
    * org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1141)
    * org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
    * org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore.deleteOrganisationUnitLevels(HibernateOrganisationUnitStore.java:338)
    * org.hisp.dhis.organisationunit.DefaultOrganisationUnitService.deleteOrganisationUnitLevels(DefaultOrganisationUnitService.java:503)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    * $Proxy9.deleteOrganisationUnitLevels(Unknown source)
    * org.hisp.dhis.oum.action.organisationunitlevel.SaveOrganisationUnitLevelsAction.execute(SaveOrganisationUnitLevelsAction.java:66)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:117)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:94)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
    * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
    * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    * org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    * java.lang.Thread.run(Thread.java:619)

[-] Caused by (org.postgresql.util.PSQLException): ERROR: update or delete on table "orgunitlevel" violates foreign key constraint "fk_map_organisationunitlevelid" on table "map" Detail: Key (orgunitlevelid)=(110789) is still referenced from table "map".

    * org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
    * org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
    * org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
    * org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:321)
    * com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
    * org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:75)
    * org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:396)
    * org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:259)
    * org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1141)
    * org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:94)
    * org.hisp.dhis.organisationunit.hibernate.HibernateOrganisationUnitStore.deleteOrganisationUnitLevels(HibernateOrganisationUnitStore.java:338)
    * org.hisp.dhis.organisationunit.DefaultOrganisationUnitService.deleteOrganisationUnitLevels(DefaultOrganisationUnitService.java:503)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    * $Proxy9.deleteOrganisationUnitLevels(Unknown source)
    * org.hisp.dhis.oum.action.organisationunitlevel.SaveOrganisationUnitLevelsAction.execute(SaveOrganisationUnitLevelsAction.java:66)
    * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    * java.lang.reflect.Method.invoke(Method.java:597)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
    * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:117)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:94)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:89)
    * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
    * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    * org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    * org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    * org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
    * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    * org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    * java.lang.Thread.run(Thread.java:619)





Follow ups

References