[Building Sakai] mysql foreign key error and deadlock : Sakai_site_tool_property and sakai_site_tool

Sanghyun Jeon euksa99 at gmail.com
Wed Jan 7 14:45:41 PST 2015


Hello all, again.

I am able to manually delete the sakai.iframe.site from
SAKAI_SITE_TOOL_PROPERTY table without having a foreign key error. I am
wondering why sometimes our database threw the foreign key error and turn
into the deadlock.
I hope somebody can shed any insight on this issue or share any similar
experience with me.

S

On Wed, Jan 7, 2015 at 1:41 PM, Sanghyun Jeon <euksa99 at gmail.com> wrote:

> Hello All,
>
>
>
> We are using Sakai 2.9.3 and mysql 5.5.38.
>
> Recently our database cpu is frequently spiking up near 99% usage and
> sometimes database is unresponsive. While we are investigating the root
> cause of this cpu issue, running "show engine innodb status" shows the
> foreign key error and deadlock related with sakai_site_tool_property and
> sakai_site_tool
>
> *------------------------*
>
> *LATEST FOREIGN KEY ERROR*
>
> *------------------------*
>
> *141230 15:52:26 Transaction:*
>
> *TRANSACTION E8DD365, ACTIVE 3 sec updating or deleting*
>
> *mysql tables in use 1, locked 1*
>
> *4 lock struct(s), heap size 1248, 2 row lock(s), undo log entries 1*
>
> *MySQL thread id 59773, OS thread handle 0x7fe0774d3700, query id
> 3080494644 XXXX.edu XXXXXXX sakai updating*
>
> *delete from SAKAI_SITE_TOOL where SITE_ID = x'43585F6D74675F3330353636'
> and TOOL_ID =
> x'61306365383466372D653438642D343764662D383032322D656561653130623536336662'*
>
> *Foreign key constraint fails for table
> `sakai`.`SAKAI_SITE_TOOL_PROPERTY`:*
>
> *,*
>
> *  CONSTRAINT `SAKAI_SITE_TOOL_PROPERTY_ibfk_1` FOREIGN KEY (`TOOL_ID`)
> REFERENCES `SAKAI_SITE_TOOL` (`TOOL_ID`)*
>
> *Trying to delete or update in parent table, in index `PRIMARY` tuple:*
>
> *DATA TUPLE: 9 fields;*
>
> * 0: len 36; hex
> 61306365383466372d653438642d343764662d383032322d656561653130623536336662;
> asc a0ce84f7-e48d-47df-8022-eeae10b563fb;;*
>
> * 1: len 6; hex 00000e8dd365; asc      e;;*
>
> * 2: len 7; hex 31000004da1e9e; asc 1      ;;*
>
> * 3: len 36; hex
> 37326561666365652d316663392d343332362d303035362d646561633836666330393137;
> asc 72eafcee-1fc9-4326-0056-deac86fc0917;;*
>
> * 4: len 12; hex 43585f6d74675f3330353636; asc CX_mtg_30566;;*
>
> * 5: len 17; hex 73616b61692e696672616d652e73697465; asc
> sakai.iframe.site;;*
>
> * 6: len 4; hex 80000001; asc     ;;*
>
> * 7: len 24; hex 5369746520496e666f726d6174696f6e20446973706c6179; asc
> Site Information Display;;*
>
> * 8: len 3; hex 302c30; asc 0,0;;*
>
>
>
> *But in child table `sakai`.`SAKAI_SITE_TOOL_PROPERTY`, in index
> `PRIMARY`, there is a record:*
>
> *PHYSICAL RECORD: n_fields 6; compact format; info bits 0*
>
> * 0: len 30; hex
> 61306365383466372d653438642d343764662d383032322d656561653130; asc
> a0ce84f7-e48d-47df-8022-eeae10; (total 36 bytes);*
>
> * 1: len 18; hex 786672616d652d6c6173742d737461747573; asc
> xframe-last-status;;*
>
> * 2: len 6; hex 00000e8dd1f7; asc       ;;*
>
> * 3: len 7; hex e70000012b0110; asc     +  ;;*
>
> * 4: len 12; hex 43585f6d74675f3330353636; asc CX_mtg_30566;;*
>
> * 5: len 5; hex 66616c7365; asc false;;*
>
>
>
> *------------------------*
>
> *LATEST DETECTED DEADLOCK*
>
> *------------------------*
>
> *141230  8:56:55*
>
> **** (1) TRANSACTION:*
>
> *TRANSACTION E8CC25C, ACTIVE 268 sec starting index read*
>
> *mysql tables in use 1, locked 1*
>
> *LOCK WAIT 2 lock struct(s), heap size 376, 1 row lock(s)*
>
> *MySQL thread id 59698, OS thread handle 0x7fe084e1d700, query id
> 3077901698 <3077901698> XXX.edu XXXXXXXX sakai updating*
>
> *delete from SAKAI_SITE_TOOL_PROPERTY where SITE_ID =
> x'43585F6D74675F3739353837' and TOOL_ID =
> x'61396462353561352D656262372D343936302D613465652D356232363830393839623137'*
>
> **** (1) WAITING FOR THIS LOCK TO BE GRANTED:*
>
> *RECORD LOCKS space id 2496 page no 1129 n bits 200 index `PRIMARY` of
> table `sakai`.`SAKAI_SITE_TOOL_PROPERTY` trx id E8CC25C lock_mode X locks
> rec but not gap waiting*
>
> *Record lock, heap no 118 PHYSICAL RECORD: n_fields 6; compact format;
> info bits 32*
>
> * 0: len 30; hex
> 61396462353561352d656262372d343936302d613465652d356232363830; asc
> a9db55a5-ebb7-4960-a4ee-5b2680; (total 36 bytes);*
>
> * 1: len 6; hex 736f75726365; asc source;;*
>
> * 2: len 6; hex 00000e8cc40f; asc       ;;*
>
> * 3: len 7; hex 3c000000352c92; asc <   5, ;;*
>
> * 4: len 12; hex 43585f6d74675f3739353837; asc CX_mtg_79587;;*
>
> * 5: len 30; hex
> 68747470733a2f2f766964656f34372e7069747a65722e6564752f6c6f67; asc
> https://video47.pitzer.edu/log <https://video47.pitzer.edu/log>; (total 88
> bytes);*
>
>
>
> **** (2) TRANSACTION:*
>
> *TRANSACTION E8CC40F, ACTIVE 0 sec updating or deleting*
>
> *mysql tables in use 1, locked 1*
>
> *5 lock struct(s), heap size 1248, 5 row lock(s), undo log entries 4*
>
> *MySQL thread id 59351, OS thread handle 0x7fe077410700, query id
> 3077901699 <3077901699> sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu>
> 134.173.69.38 sakai updating*
>
> *delete from SAKAI_SITE_TOOL where SITE_ID = x'43585F6D74675F3739353837'
> and TOOL_ID =
> x'61396462353561352D656262372D343936302D613465652D356232363830393839623137'*
>
> **** (2) HOLDS THE LOCK(S):*
>
> *RECORD LOCKS space id 2496 page no 1129 n bits 200 index `PRIMARY` of
> table `sakai`.`SAKAI_SITE_TOOL_PROPERTY` trx id E8CC40F lock_mode X locks
> rec but not gap*
>
> *Record lock, heap no 118 PHYSICAL RECORD: n_fields 6; compact format;
> info bits 32*
>
> * 0: len 30; hex
> 61396462353561352d656262372d343936302d613465652d356232363830; asc
> a9db55a5-ebb7-4960-a4ee-5b2680; (total 36 bytes);*
>
> * 1: len 6; hex 736f75726365; asc source;;*
>
> * 2: len 6; hex 00000e8cc40f; asc       ;;*
>
> * 3: len 7; hex 3c000000352c92; asc <   5, ;;*
>
> * 4: len 12; hex 43585f6d74675f3739353837; asc CX_mtg_79587;;*
>
> * 5: len 30; hex
> 68747470733a2f2f766964656f34372e7069747a65722e6564752f6c6f67; asc
> https://video47.pitzer.edu/log <https://video47.pitzer.edu/log>; (total 88
> bytes);*
>
>
>
> *Record lock, heap no 119 PHYSICAL RECORD: n_fields 6; compact format;
> info bits 32*
>
> * 0: len 30; hex
> 61396462353561352d656262372d343936302d613465652d356232363830; asc
> a9db55a5-ebb7-4960-a4ee-5b2680; (total 36 bytes);*
>
> * 1: len 18; hex 786672616d652d6c6173742d737461747573; asc
> xframe-last-status;;*
>
> * 2: len 6; hex 00000e8cc40f; asc       ;;*
>
> * 3: len 7; hex 3c000000352d12; asc <   5- ;;*
>
> * 4: len 12; hex 43585f6d74675f3739353837; asc CX_mtg_79587;;*
>
> * 5: len 5; hex 66616c7365; asc false;;*
>
>
>
> *Record lock, heap no 120 PHYSICAL RECORD: n_fields 6; compact format;
> info bits 32*
>
> * 0: len 30; hex
> 61396462353561352d656262372d343936302d613465652d356232363830; asc
> a9db55a5-ebb7-4960-a4ee-5b2680; (total 36 bytes);*
>
> * 1: len 16; hex 786672616d652d6c6173742d74696d65; asc xframe-last-time;;*
>
> * 2: len 6; hex 00000e8cc40f; asc       ;;*
>
> * 3: len 7; hex 3c000000352daa; asc <   5- ;;*
>
> * 4: len 12; hex 43585f6d74675f3739353837; asc CX_mtg_79587;;*
>
> * 5: len 13; hex 31343139323034333030363136; asc 1419204300616;;*
>
>
>
> **** (2) WAITING FOR THIS LOCK TO BE GRANTED:*
>
> *RECORD LOCKS space id 2496 page no 1129 n bits 200 index `PRIMARY` of
> table `sakai`.`SAKAI_SITE_TOOL_PROPERTY` trx id E8CC40F lock mode S waiting*
>
> *Record lock, heap no 118 PHYSICAL RECORD: n_fields 6; compact format;
> info bits 32*
>
> * 0: len 30; hex
> 61396462353561352d656262372d343936302d613465652d356232363830; asc
> a9db55a5-ebb7-4960-a4ee-5b2680; (total 36 bytes);*
>
> * 1: len 6; hex 736f75726365; asc source;;*
>
> * 2: len 6; hex 00000e8cc40f; asc       ;;*
>
> * 3: len 7; hex 3c000000352c92; asc <   5, ;;*
>
> * 4: len 12; hex 43585f6d74675f3739353837; asc CX_mtg_79587;;*
>
> * 5: len 30; hex
> 68747470733a2f2f766964656f34372e7069747a65722e6564752f6c6f67; asc
> https://video47.pitzer.edu/log <https://video47.pitzer.edu/log>; (total 88
> bytes);*
>
>
>
> **** WE ROLL BACK TRANSACTION (1)*
>
> *------------*
>
> *TRANSACTIONS*
>
> *------------*
>
> *Trx id counter E90146E*
>
> *Purge done for trx's n:o < E901456 undo n:o < 0*
>
> *History list length 2503*
>
> *LIST OF TRANSACTIONS FOR EACH SESSION:*
>
> *---TRANSACTION 0, not started*
>
> *MySQL thread id 60244, OS thread handle 0x7fe076f3d700, query id
> 3084636294 <3084636294> localhost root*
>
> *show engine innodb status*
>
> *---TRANSACTION 0, not started*
>
> *MySQL thread id 60242, OS thread handle 0x7fe075efd700, query id
> 3084628719 <3084628719> localhost 127.0.0.1 root*
>
> *---TRANSACTION 0, not started*
>
> *MySQL thread id 60241, OS thread handle 0x7fe077bae700, query id
> 3084632708 <3084632708> localhost 127.0.0.1 root*
>
> *---TRANSACTION E900986, not started*
>
> *MySQL thread id 60204, OS thread handle 0x7fe075d36700, query id
> 3084557547 <3084557547> sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu>
> 134.173.69.31 sakai*
>
> *---TRANSACTION E901466, not started*
>
> *MySQL thread id 60174, OS thread handle 0x7fe077aeb700, query id
> 3084636285 <3084636285> sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu>
> 134.173.69.32 sakai*
>
> *---TRANSACTION E901467, not started*
>
> *MySQL thread id 60129, OS thread handle 0x7fe077514700, query id
> 3084636279 <3084636279> sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu>
> 134.173.69.38 sakai*
>
> *---TRANSACTION E900FBC, not started*
>
> *MySQL thread id 60106, OS thread handle 0x7fe0846c0700, query id
> 3084613718 <3084613718> sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu>
> 134.173.69.38 sakai*
>
> *---TRANSACTION E90146D, not started*
>
> *MySQL thread id 59944, OS thread handle 0x7fe6b00c7700, query id
> 3084636293 <3084636293> sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu>
> 134.173.69.38 sakai*
>
> *---TRANSACTION E90146C, ACTIVE 2 sec*
>
> *MySQL thread id 60225, OS thread handle 0x7fe085066700, query id
> 3084636268 <3084636268> sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu>
> 134.173.69.31 sakai*
>
> *---TRANSACTION E90146B, ACTIVE 2 sec*
>
> *MySQL thread id 60049, OS thread handle 0x7fe085949700, query id
> 3084636256 <3084636256> sakai-sis.pomona.edu <http://sakai-sis.pomona.edu>
> 134.173.69.35 sakai*
>
> *---TRANSACTION E90146A, ACTIVE 3 sec*
>
> *MySQL thread id 60095, OS thread handle 0x7fe0850e8700, query id
> 3084636253 sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu> 134.173.69.32
> sakai*
>
> *---TRANSACTION E901469, ACTIVE 3 sec*
>
> *MySQL thread id 60118, OS thread handle 0x7fe084477700, query id
> 3084636250 sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu> 134.173.69.31
> sakai*
>
> *---TRANSACTION E901398, ACTIVE 219 sec*
>
> *MySQL thread id 60219, OS thread handle 0x7fe085a0c700, query id
> 3084632593 sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu> 134.173.69.32
> sakai*
>
> *---TRANSACTION E901388, ACTIVE 227 sec*
>
> *MySQL thread id 60111, OS thread handle 0x7fe076df8700, query id
> 3084632060 sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu> 134.173.69.38
> sakai*
>
> *---TRANSACTION E90131E, ACTIVE 302 sec*
>
> *MySQL thread id 59594, OS thread handle 0x7fe085804700, query id
> 3084629683 sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu> 134.173.69.31
> sakai*
>
> *---TRANSACTION E900FA7, ACTIVE 1114 sec*
>
> *MySQL thread id 60109, OS thread handle 0x7fe08563d700, query id
> 3084615296 sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu> 134.173.69.31
> sakai*
>
> *---TRANSACTION E900D08, ACTIVE 1659 sec*
>
> *MySQL thread id 60201, OS thread handle 0x7fe084373700, query id
> 3084575980 sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu> 134.173.69.31
> sakai*
>
> *---TRANSACTION E900BB4, ACTIVE 1908 sec*
>
> *MySQL thread id 60176, OS thread handle 0x7fe08598a700, query id
> 3084635294 sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu> 134.173.69.32
> sakai*
>
> *---TRANSACTION E900A92, ACTIVE 1969 sec*
>
> *MySQL thread id 60232, OS thread handle 0x7fe076556700, query id
> 3084566962 sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu> 134.173.69.32
> sakai*
>
> *---TRANSACTION E900988, ACTIVE 2134 sec*
>
> *MySQL thread id 60230, OS thread handle 0x7fe076f7e700, query id
> 3084563401 sakai-tc1.pomona.edu <http://sakai-tc1.pomona.edu> 134.173.69.31
> sakai*
>
> *---TRANSACTION E900896, ACTIVE 2343 sec*
>
> *MySQL thread id 60229, OS thread handle 0x7fe0757a0700, query id
> 3084607499 sakai-tc3.pomona.edu <http://sakai-tc3.pomona.edu> 134.173.69.38
> sakai*
>
> *---TRANSACTION E8FFAD3, ACTIVE 3292 sec*
>
> *MySQL thread id 60213, OS thread handle 0x7fe07638f700, query id
> 3084632252 sakai-tc2.pomona.edu <http://sakai-tc2.pomona.edu> 134.173.69.32
> sakai*
>
> *--------*
>
> *FILE I/O*
>
> *--------*
>
>
>
>
>
>
>
> We also find out Sakai bug report at the same time as follows:
>
> stack trace:
>
>
>
> java.lang.RuntimeException: SqlService.dbWrite failure
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1143)
>
> caused by:
> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
> Cannot delete or update a parent row: a foreign key constraint fails
> (`sakai`.`SAKAI_SITE_TOOL_PROPERTY`, CONSTRAINT
> `SAKAI_SITE_TOOL_PROPERTY_ibfk_1` FOREIGN KEY (`TOOL_ID`) REFERENCES
> `SAKAI_SITE_TOOL` (`TOOL_ID`))
>
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>
>     at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>
>     at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>
>     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>
>     at com.mysql.jdbc.Util.getInstance(Util.java:386)
>
>     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
>
>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
>
>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
>
>     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
>
>     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
>
>     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
>
>     at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1247)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1143)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1059)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage.saveToolConfigTx(DbSiteService.java:425)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage$2.run(DbSiteService.java:406)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.transact(BasicSqlService.java:334)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage.saveToolConfig(DbSiteService.java:402)
>
>     at
> org.sakaiproject.site.impl.BaseToolConfiguration.save(BaseToolConfiguration.java:535)
>
>     at
> org.sakaiproject.portlets.PortletIFrame.popupXFrame(PortletIFrame.java:428)
>
>     at
> org.sakaiproject.portlets.PortletIFrame.doView(PortletIFrame.java:340)
>
>     at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
>
>     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
>
>     at
> org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:208)
>
>     at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:139)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
>
>     at
> org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167)
>
>     at
> org.apache.pluto.core.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:101)
>
>     at
> org.apache.pluto.core.PortletContainerImpl.doRender(PortletContainerImpl.java:172)
>
>     at
> org.sakaiproject.portal.render.portlet.PortletToolRenderService$Sakai168RenderResult.renderResponse(PortletToolRenderService.java:298)
>
>     at
> org.sakaiproject.portal.render.portlet.PortletToolRenderService$Sakai168RenderResult.getContent(PortletToolRenderService.java:334)
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.includeTool(SkinnableCharonPortal.java:726)
>
>     at
> org.sakaiproject.portal.charon.handlers.PageHandler.includePage(PageHandler.java:229)
>
>     at
> org.sakaiproject.portal.charon.handlers.WorksiteHandler.includeWorksite(WorksiteHandler.java:205)
>
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:293)
>
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:135)
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>
>     at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>
>     at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
>     at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
>
>     at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
>     at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>     at java.lang.Thread.run(Thread.java:724)
>
>
>
>
>
> Tool Placement:
>
> :    ID:sakai.iframe.site
>
> :    Context:CX_mtg_30566
>
> :    Title:Site Information Display
>
>
>
>
>
> stack trace:
>
>
>
> java.lang.RuntimeException: SqlService.dbWrite failure
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1143)
>
> caused by:
> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
> Cannot delete or update a parent row: a foreign key constraint fails
> (`sakai`.`SAKAI_SITE_TOOL_PROPERTY`, CONSTRAINT
> `SAKAI_SITE_TOOL_PROPERTY_ibfk_1` FOREIGN KEY (`TOOL_ID`) REFERENCES
> `SAKAI_SITE_TOOL` (`TOOL_ID`))
>
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>
>     at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>
>     at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>
>     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>
>     at com.mysql.jdbc.Util.getInstance(Util.java:386)
>
>     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
>
>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
>
>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
>
>     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
>
>     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
>
>     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
>
>     at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
>
>     at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1247)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1143)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1059)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage.saveToolConfigTx(DbSiteService.java:425)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage$2.run(DbSiteService.java:406)
>
>     at
> org.sakaiproject.db.impl.BasicSqlService.transact(BasicSqlService.java:334)
>
>     at
> org.sakaiproject.site.impl.DbSiteService$DbStorage.saveToolConfig(DbSiteService.java:402)
>
>     at
> org.sakaiproject.site.impl.BaseToolConfiguration.save(BaseToolConfiguration.java:535)
>
>     at
> org.sakaiproject.portlets.PortletIFrame.popupXFrame(PortletIFrame.java:428)
>
>     at
> org.sakaiproject.portlets.PortletIFrame.doView(PortletIFrame.java:340)
>
>     at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
>
>     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
>
>     at
> org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:208)
>
>     at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:139)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
>
>     at
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
>
>     at
> org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167)
>
>     at
> org.apache.pluto.core.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:101)
>
>     at
> org.apache.pluto.core.PortletContainerImpl.doRender(PortletContainerImpl.java:172)
>
>     at
> org.sakaiproject.portal.render.portlet.PortletToolRenderService$Sakai168RenderResult.renderResponse(PortletToolRenderService.java:298)
>
>     at
> org.sakaiproject.portal.render.portlet.PortletToolRenderService$Sakai168RenderResult.getContent(PortletToolRenderService.java:334)
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.includeTool(SkinnableCharonPortal.java:726)
>
>     at
> org.sakaiproject.portal.charon.handlers.PageHandler.includePage(PageHandler.java:229)
>
>     at
> org.sakaiproject.portal.charon.handlers.WorksiteHandler.includeWorksite(WorksiteHandler.java:205)
>
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:293)
>
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:135)
>
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>
>     at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>
>     at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>
>     at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
>
>     at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
>     at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
>     at java.lang.Thread.run(Thread.java:724)
>
>
>
>
>
> Tool Placement:
>
> :    ID:sakai.iframe.site
>
> :    Context:CX_mtg_30566
>
> :    Title:Site Information Display
>
>
>
>
>
>
>
>
>
> I am wondering what may cause this issue and how to resolve it.
>
> Any help would be greatly appreciated.
>
>
>
> S
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20150107/01f66484/attachment.html 


More information about the sakai-dev mailing list