[Building Sakai] Error in MELETE TOOL in PRODUCTION Environment
Rashmi Maheshwari
rashmi at etudes.org
Mon Jul 16 07:42:54 PDT 2012
Hi Gautham,
I would recommend you to upgrade to Melete 2.8.2. This error has been
fixed a while back.
thanks,
Rashmi
On 7/14/2012 4:27 AM, gautham gorle wrote:
> Hi mallika,
>
> We are using Melete 2.6 with Oracle10g Database. This Error is not coming in
> local development systems and it is coming in PRODUCTION ENVIRONMENT ( 4
> Tomcat Servers
>> with Load Balancer).
> Best Regards,
> Gautham
>
>
> mallikamt wrote:
>> 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
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to
>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>> "unsubscribe"
>>
>>
More information about the sakai-dev
mailing list