Sorry guys, I really don't want to bore you, but this is becoming pretty urgent :)... We have a program with more than 1600 DElements that is causing an exception in the analytics engine (we can not update the analytic tables at all in the server), and we need to remove some DElements from that program before the next week (PSI is leading a training on next Tuesday using the server). Would you be able to try to solve this problem? We just need to know if it is possible (otherwise I have to look for other potentital solutions asap).
Many thanks! Jose On Mon, Feb 8, 2016 at 9:06 PM, Jose Garcia Muñoz <josem...@gmail.com> wrote: > > Hi devs, > > We get an exception each time we want to remove a particular data element > from its program (programstage). It seems that does not matter if the > datalement has a trackedentityvalue or not (and it shouldn't matter > right?). We are running 2.20 (revision 19968). It works fine for 2.22, but > it is important for us to have this problem solved for 2.20 (if possible), > as many dataelements do not make sense for us anymore (even we can not run > the analytics because of this ...) > > Is there anything you can do from your side? > > Thanks guys! > Jose > > Here is the error trace... > > * ERROR 2016-02-08 20:38:26,194 Error while executing action > (ExceptionIntercept > or.java [http-apr-8080-exec-6]) > org.springframework.dao.InvalidDataAccessApiUsageException: deleted object > would > be re-saved by cascade (remove deleted object from associations): > [org.hisp.dhi > s.program.ProgramStageDataElement#21547]; nested exception is > org.hibernate.Obje > ctDeletedException: deleted object would be re-saved by cascade (remove > deleted > object from associations): > [org.hisp.dhis.program.ProgramStageDataElement#21547] > > at > org.springframework.orm.hibernate4.SessionFactoryUtils.convertHiberna > teAccessException(SessionFactoryUtils.java:193) > at > org.springframework.orm.hibernate4.HibernateTransactionManager.conver > tHibernateAccessException(HibernateTransactionManager.java:730) > at > org.springframework.orm.hibernate4.HibernateTransactionManager.doComm > it(HibernateTransactionManager.java:592) > at > org.springframework.transaction.support.AbstractPlatformTransactionMa > nager.processCommit(AbstractPlatformTransactionManager.java:757) > at > org.springframework.transaction.support.AbstractPlatformTransactionMa > nager.commit(AbstractPlatformTransactionManager.java:726) > at > org.springframework.transaction.interceptor.TransactionAspectSupport. > commitTransactionAfterReturning(TransactionAspectSupport.java:521) > at > org.springframework.transaction.interceptor.TransactionAspectSupport. > invokeWithinTransaction(TransactionAspectSupport.java:291) > at > org.springframework.transaction.interceptor.TransactionInterceptor.in > voke(TransactionInterceptor.java:96) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > at > org.springframework.aop.framework.adapter.MethodBeforeAdviceIntercept > or.invoke(MethodBeforeAdviceInterceptor.java:52) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invok > e(ExposeInvocationInterceptor.java:92) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami > cAopProxy.java:207) > at com.sun.proxy.$Proxy91.deleteProgramStageDataElement(Unknown > Source) > at > org.hisp.dhis.trackedentity.action.programstage.UpdateProgramStageAct > ion.execute(UpdateProgramStageAction.java:474) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > sorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultA > ctionInvocation.java:450) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Defa > ultActionInvocation.java:289) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:252) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.interc > ept(XWorkPortalUserInterceptor.java:91) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.inte > rcept(XWorkPortalModuleInterceptor.java:92) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.interc > ept(XWorkPortalMenuInterceptor.java:100) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.inte > rcept(XWorkPortalParamsInterceptor.java:150) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterce > ptor.java:83) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.interceptor.UserSettingInterceptor.intercept(UserSettin > gInterceptor.java:84) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.security.intercept.LoginInterceptor.intercept(LoginInte > rceptor.java:85) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(X > WorkSecurityInterceptor.java:116) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSe > ttingInterceptor.java:138) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.j > ava:139) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:254) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept > (MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.inter > cept(StaticParametersInterceptor.java:191) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInt > erceptor.java:113) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:246) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.j > ava:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav > a:562) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(Exec > uteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter > .doFilter(StrutsPrepareAndExecuteFilter.java:99) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:330) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.invoke(FilterSecurityInterceptor.java:118) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.doFilter(FilterSecurityInterceptor.java:84) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.access.ExceptionTranslationFilter.do > Filter(ExceptionTranslationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.SessionManagementFilter.doFi > lter(SessionManagementFilter.java:103) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AnonymousAuthenticati > onFilter.doFilter(AnonymousAuthenticationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwar > eRequestFilter.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.BasicAuthenticati > onFilter.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:100 > ) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AbstractAuthenticatio > nProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AbstractAuthenticatio > nProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(Cus > tomAuthenticationFilter.java:64) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.oauth2.provider.authentication.OAuth2Aut > > henticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:1 > 40) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.logout.LogoutFilter.d > oFilter(LogoutFilter.java:110) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(Automati > cAccessFilter.java:115) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.header.HeaderWriterFilter.doFilterIn > ternal(HeaderWriterFilter.java:57) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.request.async.WebAsyncManage > > rIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.SecurityContextPersistenceFi > lter.doFilter(SecurityContextPersistenceFilter.java:87) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fi > lterChainProxy.java:192) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChai > nProxy.java:160) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D > elegatingFilterProxy.java:344) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat > ingFilterProxy.java:261) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.do > FilterInternal(OpenSessionInViewFilter.java:151) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterIntern > al(CharacterEncodingFilter.java:85) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica > torBase.java:502) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:100) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: > 953) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:409) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp > 11Processor.java:1044) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process( > AbstractProtocol.java:607) > at > org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpo > int.java:2441) > at > org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin > t.java:2430) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. > java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor > .java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: org.hibernate.ObjectDeletedException: deleted object would be > re-save > d by cascade (remove deleted object from associations): > [org.hisp.dhis.program.P > rogramStageDataElement#21547] > at > org.hibernate.internal.SessionImpl.forceFlush(SessionImpl.java:1208) > at > org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityI > sTransient(DefaultSaveOrUpdateEventListener.java:184) > at > org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.perform > SaveOrUpdate(DefaultSaveOrUpdateEventListener.java:114) > at > org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveO > rUpdate(DefaultSaveOrUpdateEventListener.java:90) > at > org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java: > 654) > at > org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:646) > > at > org.hibernate.engine.spi.CascadingAction$5.cascade(CascadingAction.ja > va:258) > at > org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:396) > at > org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java > :339) > at > org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:20 > 7) > at > org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Casca > de.java:426) > at > org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java: > 366) > at > org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java > :342) > at > org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:20 > 7) > at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:164) > at > org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnF > lush(AbstractFlushingEventListener.java:165) > at > org.hibernate.event.internal.AbstractFlushingEventListener.prepareEnt > ityFlushes(AbstractFlushingEventListener.java:156) > at > org.hibernate.event.internal.AbstractFlushingEventListener.flushEvery > thingToExecutions(AbstractFlushingEventListener.java:89) > at > org.hibernate.event.internal.DefaultFlushEventListener.onFlush(Defaul > tFlushEventListener.java:55) > 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.before > TransactionCommit(JdbcTransaction.java:101) > at > org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(A > bstractTransactionImpl.java:175) > at > org.springframework.orm.hibernate4.HibernateTransactionManager.doComm > it(HibernateTransactionManager.java:584) > ... 120 more > >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp