[Building Sakai] Error in MELETE TOOL in PRODUCTION Environment

gautham gorle rameswarg at gmail.com
Wed Jul 18 03:55:04 PDT 2012


Hi Rashmi,

I can not update my melete to 2.8 at present it may take time ,now i am
facing this problem in production 
can you please let me know what is the root cause for this error? and how
did you resolved it? Let me give it a try....


rashmi maheshwari wrote:
> 
> 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"
>>>
>>>
> 
> 
> _______________________________________________
> 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"
> 
> 

-- 
View this message in context: http://old.nabble.com/Error-in-MELETE-TOOL-in-PRODUCTION-Environment-tp34156925p34178489.html
Sent from the Sakai - Development mailing list archive at Nabble.com.



More information about the sakai-dev mailing list