← Back to team overview

dhis2-devs team mailing list archive

Pivot table and analytics

 

Hi there

We're having a small issue in 2.23 with the Pivot Table.

We create our metadata for programs and program stages and then import data
through our custom import app using the web API.

Then if we go into Pivot Table for the Program / Event Data Items and click
'Update', the page hangs with 'Loading...'   We get the error below in our
Tomcat logs:

* INFO  2016-09-21 11:46:46,715 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) WM - ever participated in a literacy program outside of primary, uid:
BKGvXg1sV5l (AuditLogUtil.java [qtp219396780-43])
** INFO  2016-09-21 11:46:46,727 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) BR - Intermittent preventive treatment for malaria during pregnancy,
uid: R3XNjq83Was (AuditLogUtil.java [qtp219396780-15])*
** INFO  2016-09-21 11:46:46,727 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) BR - Intermittent preventive treatment for malaria during pregnancy,
uid: e6bsk7HlMFZ (AuditLogUtil.java [qtp219396780-43])*
* INFO  2016-09-21 11:46:46,740 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) BR - month of birth, uid: gJ23iAx6HVg (AuditLogUtil.java
[qtp219396780-15])
* WARN  2016-09-21 11:46:46,740 SQL Error: 0, SQLState: 23505
(SqlExceptionHelper.java [qtp219396780-43])
** ERROR 2016-09-21 11:46:46,741 ERROR: duplicate key value violates unique
constraint "programdataelement_unique_key"*
*  Detail: Key (programid, dataelementid)=(12372, 13027) already exists.
(SqlExceptionHelper.java [qtp219396780-43])*
2016-09-21 11:46:46.770:WARN:oejs.ServletHandler:qtp219396780-43:
org.springframework.web.util.NestedServletException: Request processing
failed; nested exception is
org.springframework.dao.DataIntegrityViolationException: could not execute
statement; SQL [n/a]; constraint [programdataelement_unique_key]; nested
exception is org.hibernate.exception.ConstraintViolationException: could
not execute statement
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:980)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:115)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87)
at
org.hisp.dhis.servlet.filter.ExcludableShallowEtagHeaderFilter.doFilterInternal(ExcludableShallowEtagHeaderFilter.java:102)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
* INFO  2016-09-21 11:46:46,813 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) BR - ORS for diarrhea, uid: ZR6t6HZO5bJ (AuditLogUtil.java
[qtp219396780-15])
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by:
org.springframework.dao.DataIntegrityViolationException: could not execute
statement; SQL [n/a]; constraint [programdataelement_unique_key]; nested
exception is org.hibernate.exception.ConstraintViolationException: could
not execute statement
at
org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:163)
at
org.springframework.orm.hibernate4.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:730)
at
org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:592)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy55.getOrAddProgramDataElement(Unknown Source)
at
org.hisp.dhis.dimension.DefaultDimensionService.getOrAddDataDimensionalItemObject(DefaultDimensionService.java:355)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimension(DefaultDataQueryService.java:256)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimensionalObjects(DefaultDataQueryService.java:209)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getFromUrl(DefaultDataQueryService.java:130)
at
org.hisp.dhis.webapi.controller.AnalyticsController.getJson(AnalyticsController.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.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:115)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87)
at
org.hisp.dhis.servlet.filter.ExcludableShallowEtagHeaderFilter.doFilterInternal(ExcludableShallowEtagHeaderFilter.java:102)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by:
org.hibernate.exception.ConstraintViolationException: could not execute
statement
at
org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129)
at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189)
at
org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:59)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3079)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3521)
at
org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:387)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:303)
at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:349)
at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1195)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)
at
org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at
org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at
org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy55.getOrAddProgramDataElement(Unknown Source)
at
org.hisp.dhis.dimension.DefaultDimensionService.getOrAddDataDimensionalItemObject(DefaultDimensionService.java:355)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimension(DefaultDataQueryService.java:256)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimensionalObjects(DefaultDataQueryService.java:209)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getFromUrl(DefaultDataQueryService.java:130)
at
org.hisp.dhis.webapi.controller.AnalyticsController.getJson(AnalyticsController.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.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:115)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87)
at
org.hisp.dhis.servlet.filter.ExcludableShallowEtagHeaderFilter.doFilterInternal(ExcludableShallowEtagHeaderFilter.java:102)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
Caused by:
org.postgresql.util.PSQLException: ERROR: duplicate key value violates
unique constraint "programdataelement_unique_key"|  Detail: Key (programid,
dataelementid)=(12372, 13027) already exists.
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424)
at
org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:161)
at
org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:133)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:186)
at
org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:59)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3079)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3521)
at
org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:387)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:303)
at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:349)
at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1195)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)
at
org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at
org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at
org.springframework.orm.hibernate4.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy55.getOrAddProgramDataElement(Unknown Source)
at
org.hisp.dhis.dimension.DefaultDimensionService.getOrAddDataDimensionalItemObject(DefaultDimensionService.java:355)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimension(DefaultDataQueryService.java:256)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getDimensionalObjects(DefaultDataQueryService.java:209)
at
org.hisp.dhis.analytics.data.DefaultDataQueryService.getFromUrl(DefaultDataQueryService.java:130)
at
org.hisp.dhis.webapi.controller.AnalyticsController.getJson(AnalyticsController.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.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:140)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:115)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87)
at
org.hisp.dhis.servlet.filter.ExcludableShallowEtagHeaderFilter.doFilterInternal(ExcludableShallowEtagHeaderFilter.java:102)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)
at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
* INFO  2016-09-21 11:46:46,850 'admin' create
org.hisp.dhis.program.ProgramDataElement, name: MALAWI 2010 (6) MALAWI 2010
(6) BR - ORT+continued feeding for children with diarrhoea, uid:
yXCUtPy8MJG (AuditLogUtil.java [qtp219396780-15])



Looking at the browser network log, we see there are two ajax requests for
/api/analytics.json as follows:

http://localhost:8000/api/analytics.json?dimension=dx:WvTS1pZHEvr.zIwKzp5LQV0;WvTS1pZHEvr.SviPULMrs4E;WvTS1pZHEvr.xb4Scf1XL3B;WvTS1pZHEvr.bbAal3sU9uJ;WvTS1pZHEvr.s5kx3g5oR4u;WvTS1pZHEvr.HkgJlbo1n6p;WvTS1pZHEvr.g6NTDWVPQI8;WvTS1pZHEvr.vXL4CX0ujZX;WvTS1pZHEvr.gioZNrOZ04H;WvTS1pZHEvr.yJrk0zHLsB0;WvTS1pZHEvr.zY0gPCR38ku;WvTS1pZHEvr.i5hq21hYR6G;WvTS1pZHEvr.CEZJXSW0hDP;WvTS1pZHEvr.wfCiwQf1elE;WvTS1pZHEvr.gMRNoTcKZYN;WvTS1pZHEvr.FQW9ajexB53;WvTS1pZHEvr.eF1VS0TiQGG;WvTS1pZHEvr.SUFqHSoQdDa;WvTS1pZHEvr.ZCqMRpSNhaH;WvTS1pZHEvr.GDwijNGCOys;WvTS1pZHEvr.GJN8bS0yyyu;WvTS1pZHEvr.kThIEffeLXh;WvTS1pZHEvr.LRMDGUvZCjq;WvTS1pZHEvr.bdPKepL4QAq;WvTS1pZHEvr.LjvbeDRROq5;WvTS1pZHEvr.aeLSS03oFeo;WvTS1pZHEvr.mE9CNZ8O46K;WvTS1pZHEvr.zk0VgK6RMB4;WvTS1pZHEvr.sC5uLjqtq7S;WvTS1pZHEvr.cUGx8npcjdS;WvTS1pZHEvr.k2q7tB4UD0Q;WvTS1pZHEvr.RZvuDt45TCs;WvTS1pZHEvr.TWEoa4CA6x1;WvTS1pZHEvr.askaj3EXGAS;WvTS1pZHEvr.NiarpgrGqEN;WvTS1pZHEvr.JIKoSgdvN0d;WvTS1pZHEvr.gHNXd6CrSmu;WvTS1pZHEvr.RM7v6p586cG;WvTS1pZHEvr.CVIColbCxLn;WvTS1pZHEvr.auypAWfynRG;WvTS1pZHEvr.DYa1dHrl1NY;WvTS1pZHEvr.vG0JSrNgm90;WvTS1pZHEvr.qhHw0gauNaM;WvTS1pZHEvr.HxlI1v7bCQW;WvTS1pZHEvr.icZteKbcw7Y;WvTS1pZHEvr.h50CTgVuexo;WvTS1pZHEvr.Qwq1AvawCYl;WvTS1pZHEvr.wFed4C7ar5P;WvTS1pZHEvr.kzZ9oIeMgel;WvTS1pZHEvr.xEob1uQt76Z;WvTS1pZHEvr.JjiN1YUka1B;WvTS1pZHEvr.EPqY3FZWf1u;WvTS1pZHEvr.UGdzBbcZzuP;WvTS1pZHEvr.PD43OsmHvQ7;WvTS1pZHEvr.JQnV8Igl9Y2;WvTS1pZHEvr.YSwgI5eoUmN;WvTS1pZHEvr.DVyyBsRCqvB;WvTS1pZHEvr.DuJhKqaYJdd;WvTS1pZHEvr.ralReEpyEOe;WvTS1pZHEvr.oxytTaKbXdr;WvTS1pZHEvr.CgVbvheNI9F;WvTS1pZHEvr.i92NgHBBayK;WvTS1pZHEvr.FNFf6ZCBUlu;WvTS1pZHEvr.o6hlcAXsmcO;WvTS1pZHEvr.CXSi4VFBTgN;WvTS1pZHEvr.zuAuBrBOC08;WvTS1pZHEvr.ACofzzCVyRE;WvTS1pZHEvr.aMTDtWdh1eL;WvTS1pZHEvr.XmVHyzllpZu;WvTS1pZHEvr.k026jJnkLdF;WvTS1pZHEvr.OHy0DfqgF6R;WvTS1pZHEvr.I9r5tLiE4iY;WvTS1pZHEvr.Luuza9H7c9T;WvTS1pZHEvr.R9SOR3F4oPR;WvTS1pZHEvr.XZK9sKOgJXW;WvTS1pZHEvr.EaHaOGUKYiY;WvTS1pZHEvr.Ve5ITHpYImx;WvTS1pZHEvr.jnFwoNrUZrc;WvTS1pZHEvr.qyy21hq6wS8;WvTS1pZHEvr.H6i6QlKKtie;WvTS1pZHEvr.revSEAkcYUj;WvTS1pZHEvr.SVEyybEx6Bd;WvTS1pZHEvr.SSJQY2uO9wZ;WvTS1pZHEvr.cSmCgk0mFUP;WvTS1pZHEvr.IHQQAbSPnMs;WvTS1pZHEvr.tT9PsamWJeT;WvTS1pZHEvr.p34Oqa7e2GH;WvTS1pZHEvr.lvzVQLXKH2j;WvTS1pZHEvr.hglOq5AkgZz;WvTS1pZHEvr.HtNEpZmyfdR;WvTS1pZHEvr.A4xz8sepBfd;WvTS1pZHEvr.EkLnrreKbZs;WvTS1pZHEvr.Mh9UUR7onUr;WvTS1pZHEvr.y5l79vR8mTv;WvTS1pZHEvr.aBdEFW3Qvi0;WvTS1pZHEvr.sOKaR98BW36;WvTS1pZHEvr.QN21IC6jsi5;WvTS1pZHEvr.k8kiTVpaYpN;WvTS1pZHEvr.YgS8E77Q0nm;WvTS1pZHEvr.Vl97EGYsKSV;WvTS1pZHEvr.SMCsB4ji244;WvTS1pZHEvr.vfgh4QHq9sP;WvTS1pZHEvr.P59z5cX0FoT;WvTS1pZHEvr.ahmNkbcR9Cx;WvTS1pZHEvr.hkEp8GwO6ac;WvTS1pZHEvr.c7A4nrxbAJc;WvTS1pZHEvr.aaJf8JpWIVf;WvTS1pZHEvr.VCM00WyJ00l;WvTS1pZHEvr.mP3Tk9DvaZ4;WvTS1pZHEvr.Zkn1GwLxZ4A;WvTS1pZHEvr.gBf7ZsZvvJP;WvTS1pZHEvr.o1Ts64b0LQJ;WvTS1pZHEvr.cqjDuTSk1e5;WvTS1pZHEvr.DXZrRiBoWUr;WvTS1pZHEvr.nkVASME5c3h;WvTS1pZHEvr.jGucVsQFt16;WvTS1pZHEvr.xHcdhNCbBry;WvTS1pZHEvr.pmduIBoLp5Q;WvTS1pZHEvr.Es38aJefHnz;WvTS1pZHEvr.HD5QgLYBlO9;WvTS1pZHEvr.mi8rLVO3Q7O;WvTS1pZHEvr.JeAIwr0pY6p;WvTS1pZHEvr.jZV0G5I6CUJ;WvTS1pZHEvr.oY1fh0DkrDm;WvTS1pZHEvr.PoTDA1Wytcf;WvTS1pZHEvr.rmaz2VHKb9L;WvTS1pZHEvr.MdOLbChOFYx;WvTS1pZHEvr.onZa8wSH4NL;WvTS1pZHEvr.uRSJEKk0wES;WvTS1pZHEvr.f6uO84MZREF;WvTS1pZHEvr.jyhYtJV0Wl6;WvTS1pZHEvr.zYWaX6JaaBq;WvTS1pZHEvr.EASGO5UXh26;WvTS1pZHEvr.P9rGEyWCecM;WvTS1pZHEvr.in8V8ZIJ0bC;WvTS1pZHEvr.udNxvGw7CpD&dimension=pe:2010&filter=ou:yeGIr7J6nX7&displayProperty=NAME&skipData=true


http://localhost:8000/api/analytics.json?dimension=dx:WvTS1pZHEvr.XmVHyzllpZu;WvTS1pZHEvr.udNxvGw7CpD;WvTS1pZHEvr.in8V8ZIJ0bC;WvTS1pZHEvr.bbAal3sU9uJ;WvTS1pZHEvr.s5kx3g5oR4u;WvTS1pZHEvr.HkgJlbo1n6p;WvTS1pZHEvr.g6NTDWVPQI8;WvTS1pZHEvr.P9rGEyWCecM;WvTS1pZHEvr.gioZNrOZ04H;WvTS1pZHEvr.EASGO5UXh26;WvTS1pZHEvr.jyhYtJV0Wl6;WvTS1pZHEvr.i5hq21hYR6G;WvTS1pZHEvr.CEZJXSW0hDP;WvTS1pZHEvr.f6uO84MZREF;WvTS1pZHEvr.gMRNoTcKZYN;WvTS1pZHEvr.FQW9ajexB53;WvTS1pZHEvr.eF1VS0TiQGG;WvTS1pZHEvr.SUFqHSoQdDa;WvTS1pZHEvr.ZCqMRpSNhaH;WvTS1pZHEvr.GDwijNGCOys;WvTS1pZHEvr.GJN8bS0yyyu;WvTS1pZHEvr.kThIEffeLXh;WvTS1pZHEvr.LRMDGUvZCjq;WvTS1pZHEvr.bdPKepL4QAq;WvTS1pZHEvr.LjvbeDRROq5;WvTS1pZHEvr.aeLSS03oFeo;WvTS1pZHEvr.mE9CNZ8O46K;WvTS1pZHEvr.uRSJEKk0wES;WvTS1pZHEvr.sC5uLjqtq7S;WvTS1pZHEvr.cUGx8npcjdS;WvTS1pZHEvr.k2q7tB4UD0Q;WvTS1pZHEvr.RZvuDt45TCs;WvTS1pZHEvr.TWEoa4CA6x1;WvTS1pZHEvr.askaj3EXGAS;WvTS1pZHEvr.NiarpgrGqEN;WvTS1pZHEvr.JIKoSgdvN0d;WvTS1pZHEvr.gHNXd6CrSmu;WvTS1pZHEvr.RM7v6p586cG;WvTS1pZHEvr.CVIColbCxLn;WvTS1pZHEvr.auypAWfynRG;WvTS1pZHEvr.DYa1dHrl1NY;WvTS1pZHEvr.onZa8wSH4NL;WvTS1pZHEvr.qhHw0gauNaM;WvTS1pZHEvr.HxlI1v7bCQW;WvTS1pZHEvr.icZteKbcw7Y;WvTS1pZHEvr.h50CTgVuexo;WvTS1pZHEvr.Qwq1AvawCYl;WvTS1pZHEvr.MdOLbChOFYx;WvTS1pZHEvr.kzZ9oIeMgel;WvTS1pZHEvr.rmaz2VHKb9L;WvTS1pZHEvr.JjiN1YUka1B;WvTS1pZHEvr.EPqY3FZWf1u;WvTS1pZHEvr.UGdzBbcZzuP;WvTS1pZHEvr.PD43OsmHvQ7;WvTS1pZHEvr.JQnV8Igl9Y2;WvTS1pZHEvr.YSwgI5eoUmN;WvTS1pZHEvr.DVyyBsRCqvB;WvTS1pZHEvr.DuJhKqaYJdd;WvTS1pZHEvr.ralReEpyEOe;WvTS1pZHEvr.oxytTaKbXdr;WvTS1pZHEvr.CgVbvheNI9F;WvTS1pZHEvr.i92NgHBBayK;WvTS1pZHEvr.FNFf6ZCBUlu;WvTS1pZHEvr.o6hlcAXsmcO;WvTS1pZHEvr.CXSi4VFBTgN;WvTS1pZHEvr.PoTDA1Wytcf;WvTS1pZHEvr.ACofzzCVyRE;WvTS1pZHEvr.aMTDtWdh1eL;WvTS1pZHEvr.SviPULMrs4E;WvTS1pZHEvr.k026jJnkLdF;WvTS1pZHEvr.OHy0DfqgF6R;WvTS1pZHEvr.I9r5tLiE4iY;WvTS1pZHEvr.Luuza9H7c9T;WvTS1pZHEvr.R9SOR3F4oPR;WvTS1pZHEvr.XZK9sKOgJXW;WvTS1pZHEvr.EaHaOGUKYiY;WvTS1pZHEvr.Ve5ITHpYImx;WvTS1pZHEvr.jnFwoNrUZrc;WvTS1pZHEvr.qyy21hq6wS8;WvTS1pZHEvr.H6i6QlKKtie;WvTS1pZHEvr.revSEAkcYUj;WvTS1pZHEvr.SVEyybEx6Bd;WvTS1pZHEvr.SSJQY2uO9wZ;WvTS1pZHEvr.cSmCgk0mFUP;WvTS1pZHEvr.IHQQAbSPnMs;WvTS1pZHEvr.tT9PsamWJeT;WvTS1pZHEvr.p34Oqa7e2GH;WvTS1pZHEvr.lvzVQLXKH2j;WvTS1pZHEvr.hglOq5AkgZz;WvTS1pZHEvr.HtNEpZmyfdR;WvTS1pZHEvr.A4xz8sepBfd;WvTS1pZHEvr.EkLnrreKbZs;WvTS1pZHEvr.Mh9UUR7onUr;WvTS1pZHEvr.oY1fh0DkrDm;WvTS1pZHEvr.aBdEFW3Qvi0;WvTS1pZHEvr.sOKaR98BW36;WvTS1pZHEvr.QN21IC6jsi5;WvTS1pZHEvr.k8kiTVpaYpN;WvTS1pZHEvr.YgS8E77Q0nm;WvTS1pZHEvr.Vl97EGYsKSV;WvTS1pZHEvr.SMCsB4ji244;WvTS1pZHEvr.jZV0G5I6CUJ;WvTS1pZHEvr.P59z5cX0FoT;WvTS1pZHEvr.ahmNkbcR9Cx;WvTS1pZHEvr.hkEp8GwO6ac;WvTS1pZHEvr.c7A4nrxbAJc;WvTS1pZHEvr.aaJf8JpWIVf;WvTS1pZHEvr.VCM00WyJ00l;WvTS1pZHEvr.mP3Tk9DvaZ4;WvTS1pZHEvr.Zkn1GwLxZ4A;WvTS1pZHEvr.gBf7ZsZvvJP;WvTS1pZHEvr.o1Ts64b0LQJ;WvTS1pZHEvr.cqjDuTSk1e5;WvTS1pZHEvr.DXZrRiBoWUr;WvTS1pZHEvr.nkVASME5c3h;WvTS1pZHEvr.jGucVsQFt16;WvTS1pZHEvr.JeAIwr0pY6p;WvTS1pZHEvr.pmduIBoLp5Q;WvTS1pZHEvr.Es38aJefHnz;WvTS1pZHEvr.HD5QgLYBlO9;WvTS1pZHEvr.mi8rLVO3Q7O;WvTS1pZHEvr.zk0VgK6RMB4;WvTS1pZHEvr.xHcdhNCbBry;WvTS1pZHEvr.vXL4CX0ujZX;WvTS1pZHEvr.wfCiwQf1elE;WvTS1pZHEvr.xEob1uQt76Z;WvTS1pZHEvr.wFed4C7ar5P;WvTS1pZHEvr.vG0JSrNgm90;WvTS1pZHEvr.vfgh4QHq9sP;WvTS1pZHEvr.xb4Scf1XL3B;WvTS1pZHEvr.y5l79vR8mTv;WvTS1pZHEvr.yJrk0zHLsB0;WvTS1pZHEvr.zIwKzp5LQV0;WvTS1pZHEvr.zY0gPCR38ku;WvTS1pZHEvr.zYWaX6JaaBq;WvTS1pZHEvr.zuAuBrBOC08&dimension=pe:2010&filter=ou:yeGIr7J6nX7&displayProperty=NAME&skipMeta=true


The second of these returns a 500 error and this corresponds to the error
in the Tomcat logs.

It looks to me like the second request fires before the first has finished
and we then have two concurrent requests attempting to create the
ProgramDataElement entries.  The data element that fails is not consistent.

I think that the second request checks for the existence of the
ProgramDataElement and finds that it does not exist but when it attempts to
create, it has already been created by the first request.

Should the second request wait for the first to finish?

Note: Clicking 'Update' again does not hang.

Many thanks

Alan

Follow ups