[Building Sakai] Error in MELETE TOOL in PRODUCTION Environment

gautham gorle rameswarg at gmail.com
Fri Jul 13 08:09:00 PDT 2012



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
-- 
View this message in context: http://old.nabble.com/Error-in-MELETE-TOOL-in-PRODUCTION-Environment-tp34156925p34156925.html
Sent from the Sakai - Development mailing list archive at Nabble.com.



More information about the sakai-dev mailing list