[Building Sakai] Error in MELETE TOOL in PRODUCTION Environment
Mallika M Thoppay
mallika at etudes.org
Fri Jul 13 09:14:48 PDT 2012
Gautham,
Which release of Melete are you using? What type of database is it
connected to?
Thanks,
Mallika
On 7/13/2012 8:09 AM, gautham gorle wrote:
>
> Hi All,
>
> We are experienced the below Error in Melete tool in Sakai while editing the
> sections/lessons in Melete tool in PRODUCTION ENVIRONMENT ( 4 Tomcat Servers
> with Load Balancer) :
>
>
> 2012-07-04 15:12:09,963 ERROR TP-Processor40
> org.hibernate.event.def.AbstractFlushingEventListener - Could not
> synchronize database state with session
> org.hibernate.StaleObjectStateException: Row was updated or deleted by
> another transaction (or unsaved-value mapping was incorrect):
> [org.etudes.component.app.melete.Section#32839]
> at
> org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1765)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2407)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
> at
> org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
> at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
> at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
> at
> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
> at
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
> at
> org.etudes.component.app.melete.SectionDB.editSection(SectionDB.java:260)
> at
> org.etudes.component.app.melete.SectionServiceImpl.editSection(SectionServiceImpl.java:155)
> at
> org.etudes.tool.melete.EditSectionPage.saveHere(EditSectionPage.java:438)
> at org.etudes.tool.melete.EditSectionPage.save(EditSectionPage.java:498)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:618)
> at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
> at javax.faces.component.UICommand.broadcast(UICommand.java:312)
> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
> at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
> at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
> at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
> at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:590)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at
> org.sakaiproject.jsf.util.HelperAwareJsfTool.dispatch(HelperAwareJsfTool.java:170)
> at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1261)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:195)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:94)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:71)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1094)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:642)
> at
> com.rsmart.sakai.kernel.request.BrandRequestFilter.doFilter(BrandRequestFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:811)
> 2012-07-04 15:12:09,975 ERROR TP-Processor40
> org.etudes.component.app.melete.SectionDB - edit section stale object
> exceptionorg.hibernate.StaleObjectStateException: Row was updated or deleted
> by another transaction (or unsaved-value mapping was incorrect):
> [org.etudes.component.app.melete.Section#32839]
> org.etudes.api.app.melete.exception.MeleteException:
> edit_section_multiple_users
> at
> org.etudes.component.app.melete.SectionServiceImpl.editSection(SectionServiceImpl.java:160)
> at
> org.etudes.tool.melete.EditSectionPage.saveHere(EditSectionPage.java:438)
> at org.etudes.tool.melete.EditSectionPage.save(EditSectionPage.java:498)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:618)
> at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
> at
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
> at javax.faces.component.UICommand.broadcast(UICommand.java:312)
> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
> at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
> at
> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
> at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
> at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:590)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at
> org.sakaiproject.jsf.util.HelperAwareJsfTool.dispatch(HelperAwareJsfTool.java:170)
> at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1261)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:195)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:94)
> at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:71)
> at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1094)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:642)
> at
> com.rsmart.sakai.kernel.request.BrandRequestFilter.doFilter(BrandRequestFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:811)
>
>
>
> -------------------------------
>
> CODE FROM WHERE ERROR IS POPPING:
>
> public void editSection(Section section, MeleteResource melResource) throws
> MeleteException
> {
> try{
> Session session = hibernateUtil.currentSession();
> Transaction tx = null;
> try
> {
> // set default values for not-null fields
> SectionResource secResource =
> (SectionResource)section.getSectionResource();
> if(secResource == null)
> secResource = new SectionResource();
>
> secResource.setSection(section);
> secResource.setResource(melResource);
>
> section.setModificationDate(new java.util.Date());
> section.setSectionResource(secResource);
>
> // save object
> if (!session.isOpen()) session = hibernateUtil.currentSession();
> session.evict(section);
> tx = session.beginTransaction();
> if(melResource != null)
> session.saveOrUpdate(melResource);
> session.saveOrUpdate(secResource); // Error Line
> session.saveOrUpdate(section);
> session.flush();
> tx.commit();
>
> if (logger.isDebugEnabled()) logger.debug("commit transaction and edit
> section :" + section.getModuleId() + ","+section.getTitle());
> // updateExisitingResource(secResource);
> return ;
>
> }
>
> catch(StaleObjectStateException sose)
> {
> if(tx !=null) tx.rollback();
> logger.error("edit section stale object exception" + sose.toString());
> throw sose;
> }
> catch (HibernateException he)
> {
> if(tx !=null) tx.rollback();
> logger.error("edit section HE exception" + he.toString());
> he.printStackTrace();
> throw he;
> }
> finally{
> hibernateUtil.closeSession();
> }
> }
> catch(Exception ex){
> // Throw application specific error
> throw new MeleteException("add_section_fail");
> }
> }
>
>
> It would be helpful if anyone provide the resolution.
>
> Regards,
> Gautam
--
Mallika M Thoppay
Learning Systems Developer
Etudes Inc
http://etudes.org
More information about the sakai-dev
mailing list