[Building Sakai] Add Particicpants MySQL table lock

Jon Higham J.Higham at hull.ac.uk
Tue Feb 16 04:03:58 PST 2010


We are running sakai 2.6 with MySQL. Occasionally, site instructors
report that they have gone through the procedure (Site Info > Add
Participants) to manually add users to their sites. No errors or
warnings are given to the Instructor, but the users are not added. This
also occasionally occurs for removing users too.

 

Looking at the sakai_event table I can see a row showing
site.upd.site.mbrshp, but this is not followed by site.upd. Later
attempts, that eventually work for the Instructor, show a
site.upd.site.mbrshp row followed by site.upd.

 

The logs for this happening are below. Looks like a lock on the table
causing a timeout. Can anyone suggest what might be causing the lock?

 

Thanks

 

Jon Higham

IT Systems

University of Hull

 

 

2010-02-14 08:50:14,888 [TP-Processor551] WARN
org.sakaiproject.db.impl.BasicSqlService - Sql.dbWrite(): error code:
1205 sql: update SAKAI_REALM set PROVIDER_ID = ?,MAINTAIN_ROLE = (select
MAX(ROLE_KEY) from SAKAI_REALM_ROLE where ROLE_NAME = ?),CREATEDBY =
?,MODIFIEDBY = ?,CREATEDON = ?,MODIFIEDON = ? where ( REALM_ID = ? )
binds:   Instructor admin ggshf 20081217141209000 20100214084923732
/site/20239_0910S2 

java.sql.SQLException: Lock wait timeout exceeded; try restarting
transaction

      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)

      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)

      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)

      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)

      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)

      at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:
1761)

      at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:20
46)

      at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:19
64)

      at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:19
49)

      at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(Delega
tingPreparedStatement.java:102)

      at
org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:12
05)

      at
org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:10
39)

      at
org.sakaiproject.util.BaseDbFlatStorage.commitResource(BaseDbFlatStorage
.java:855)

      at
org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.saveTx(DbAuthz
GroupService.java:1015)

      at
org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage$8.run(DbAuthzG
roupService.java:986)

      at
org.sakaiproject.db.impl.BasicSqlService.transact(BasicSqlService.java:3
28)

      at
org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.save(DbAuthzGr
oupService.java:982)

      at
org.sakaiproject.authz.impl.BaseAuthzGroupService.completeSave(BaseAuthz
GroupService.java:592)

      at
org.sakaiproject.authz.impl.BaseAuthzGroupService.save(BaseAuthzGroupSer
vice.java:578)

      at
org.sakaiproject.site.tool.helper.participant.impl.SiteAddParticipantHan
dler.addUsersRealm(SiteAddParticipantHandler.java:503)

      at
org.sakaiproject.site.tool.helper.participant.impl.SiteAddParticipantHan
dler.processConfirmContinue(SiteAddParticipantHandler.java:591)

      at sun.reflect.GeneratedMethodAccessor11940.invoke(Unknown Source)

      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:585)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:23)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:17)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:77)

      at
uk.org.ponder.reflect.ReflectiveCache.invokeMethod(ReflectiveCache.java:
141)

      at
uk.org.ponder.mapping.support.DARApplier.invokeBeanMethod(DARApplier.jav
a:179)

      at
uk.org.ponder.rsf.state.support.RSVCApplier.invokeAction(RSVCApplier.jav
a:218)

      at
uk.org.ponder.rsf.processor.support.RSFActionHandler$1.run(RSFActionHand
ler.java:189)

      at
uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInv
oker.java:25)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.lockUUPP(Bas
icScopedAlterationWrapper.java:73)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.lockUUPP(Bas
icScopedAlterationWrapper.java:80)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.invokeRunnab
le(BasicScopedAlterationWrapper.java:64)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassBy
CGLIB$$84f89202.invoke(<generated>)

      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

      at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedIntercept
or.intercept(Cglib2AopProxy.java:623)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByC
GLIB$$9392038c.invokeRunnable(<generated>)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassBy
CGLIB$$84f89202.invoke(<generated>)

      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

      at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedIntercept
or.intercept(Cglib2AopProxy.java:623)

      at
uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByC
GLIB$$9392038c.invokeRunnable(<generated>)

      at
uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInv
oker.java:29)

      at
uk.org.ponder.util.CollectingRunnableInvoker.invokeWrappers(CollectingRu
nnableInvoker.java:22)

      at
uk.org.ponder.util.CollectingRunnableInvoker.invokeRunnable(CollectingRu
nnableInvoker.java:14)

      at
uk.org.ponder.rsf.processor.support.RSFActionHandler.handle(RSFActionHan
dler.java:165)

      at
uk.org.ponder.rsf.processor.support.RSFActionHandler$$FastClassByCGLIB$$
e3b6899d.invoke(<generated>)

      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

      at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedIntercept
or.intercept(Cglib2AopProxy.java:623)

      at
uk.org.ponder.rsf.processor.support.RSFActionHandler$$EnhancerByCGLIB$$6
3cbf9f5.handle(<generated>)

      at
uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handlePost(RootH
andlerBeanBase.java:125)

      at
uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandl
erBeanBase.java:82)

      at sun.reflect.GeneratedMethodAccessor5806.invoke(Unknown Source)

      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)

      at java.lang.reflect.Method.invoke(Method.java:585)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:23)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:17)

      at
uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache
.java:77)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocato
rImpl.java:553)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl.access$000(RSACBeanLocato
rImpl.java:75)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl$1.run(RSACBeanLocatorImpl
.java:449)

      at
uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:3
8)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocato
rImpl.java:447)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getLocalBean(RSACBeanLoca
torImpl.java:348)

      at
uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getBean(RSACBeanLocatorIm
pl.java:379)

      at
uk.org.ponder.rsac.support.PerRequestInfo$1.locateBean(PerRequestInfo.ja
va:49)

      at
uk.ac.cam.caret.sakai.rsf.servlet.ReasonableSakaiServlet.service(Reasona
bleSakaiServlet.java:65)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:269)

      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)

      at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatc
her.java:679)

      at
org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicatio
nDispatcher.java:461)

      at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDisp
atcher.java:364)

      at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispat
cher.java:301)

      at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.help(ActiveT
oolComponent.java:545)

      at
org.sakaiproject.cheftool.ToolServlet.sendToHelper(ToolServlet.java:652)

      at
org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:212)

      at
org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPor
tletPaneledAction.java:1014)

      at
org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:151)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

      at
org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:269)

      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)

      at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)

      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215)

      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)

      at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatc
her.java:679)

      at
org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicatio
nDispatcher.java:461)

      at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDisp
atcher.java:364)

      at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispat
cher.java:301)

      at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(Acti
veToolComponent.java:475)

      at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(Skinnab
leCharonPortal.java:1216)

      at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.j
ava:188)

      at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.ja
va:93)

      at
org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.j
ava:70)

      at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCha
ronPortal.java:1059)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:269)

      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)

      at
org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)

      at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215)

      at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)

      at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)

      at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:174)

      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:1
74)

      at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)

      at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)

      at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)

      at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:
703)

      at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.
java:895)

      at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:689)

      at java.lang.Thread.run(Thread.java:595)

2010-02-14 08:50:14,911 [TP-Processor551] WARN
org.sakaiproject.db.impl.BasicSqlService - transact: rolling back:
azg:/site/20239_0910S2

2010-02-14 08:50:14,911 [TP-Processor551] WARN
org.sakaiproject.db.impl.BasicSqlService - transact: failure:
java.lang.RuntimeException: SqlService.dbWrite failure

2010-02-14 08:50:14,912 [TP-Processor551] WARN
org.sakaiproject.site.tool.helper.participant.impl.SiteAddParticipantHan
dler -
org.sakaiproject.site.tool.helper.participant.impl.SiteAddParticipantHan
dler at 507d337b.addUsersRealm: SqlService.dbWrite failure
realmId=/site/20239_0910S2

2010-02-14 08:50:14,912 [TP-Processor551] INFO  PonderUtilCore -
BeanCopy preserved to path siteAddParticipantHandler:
org.sakaiproject.site.tool.helper.participant.impl.SiteAddParticipantHan
dler at 507d337b

2010-02-14 08:50:14,913 [TP-Processor551] INFO  PonderUtilCore -
BeanCopy saved 1 beans to token resultScope

2010-02-14 08:50:14,913 [TP-Processor551] INFO  PonderUtilCore -
Redirecting to
/portal/tool/849b094d-629c-474b-00ca-3acb5766d961?sakai.tool.helper.idMa
in=done&panel=Main

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100216/9d86f42d/attachment.html 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
Url: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100216/9d86f42d/attachment.pl 


More information about the sakai-dev mailing list