[Building Sakai] Error in MELETE TOOL in PRODUCTION Environment

gautham gorle rameswarg at gmail.com
Sat Jul 14 04:27:32 PDT 2012


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



More information about the sakai-dev mailing list