Currupt Database after high cpu usage
-------------------------------------
Key: DERBY-749
URL: http://issues.apache.org/jira/browse/DERBY-749
Project: Derby
Type: Bug
Components: Services
Versions: 10.1.2.1
Environment: Sun Java 1.5.0_06, Windows 2000, Derby 10.1.2.1, Hibernate 3.1rc3, IBM DB2 JDBC Universal Driver Architecture 2.6.80
Reporter: Thomas Feldmann
Priority: Critical
We are connect with the internal JDBC Driver. We are using the Network Server
only for debuging.
The application was working for hours on 100% cpu usage.
After the stop and start of the application we are getting the follwing error.
No access to the database is posible.
derby.log
Server is ready to accept connections on port 9000.
----------------------------------------------------------------
2005-12-08 13:55:29.171 GMT:
Booting Derby version The Apache Software Foundation - Apache Derby - 10.1.2.1
- (330608): instance c013800d-0108-0aa7-b496-000000000c7e
on database directory C:\MTDecs\db\mtdecsDB
Database Class Loader started - derby.database.classpath=''
------------ BEGIN SHUTDOWN ERROR STACK -------------
ERROR XSDB0: Unexpected exception on in-memory page null
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.StoredPage.initSlotTable(Unknown Source)
at org.apache.derby.impl.store.raw.data.StoredPage.initFromData(Unknown
Source)
at org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(Unknown
Source)
at
org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.addEntry(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.find(Unknown Source)
at org.apache.derby.impl.store.raw.data.FileContainer.initPage(Unknown
Source)
at org.apache.derby.impl.store.raw.data.FileContainer.newPage(Unknown
Source)
at org.apache.derby.impl.store.raw.data.BaseContainer.addPage(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.BaseContainerHandle.addPage(Unknown Source)
at
org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown Source)
at
org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown
Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at
org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2061)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2426)
at
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:908)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:344)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.swissbyte.decs.db.dao.WorktabDAO.put(WorktabDAO.java:222)
at com.swissbyte.decs.Decs.generateHeartBeat(Decs.java:819)
at com.swissbyte.decs.Decs.workLoop(Decs.java:383)
at
com.swissbyte.tools.threads.CHBMainThread.start(CHBMainThread.java:63)
at com.swissbyte.decs.Decs.start(Decs.java:262)
at com.swissbyte.decscust.mt.MTDecs.main(MTDecs.java:83)
at com.swissbyte.decscust.mt.MTDecsService.main(MTDecsService.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:159)
at java.lang.Thread.run(Unknown Source)
------------ END SHUTDOWN ERROR STACK -------------
2005-12-08 13:55:35.734 GMT Thread[WrapperStartStopAppMain,5,main] (XID =
188859908), (SESSIONID = 10), (DATABASE = mtdecsDB), (DRDAID = null), Cleanup
action starting
2005-12-08 13:55:35.734 GMT Thread[WrapperStartStopAppMain,5,main] (XID =
188859908), (SESSIONID = 10), (DATABASE = mtdecsDB), (DRDAID = null), Failed
Statement is: insert into WORKTAB (DECSID, ORIGINID, PRIORITY, EVENT_TS,
DATACLASS, XDATA, CLIENT, QUEUE, DATAID) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
ERROR XSDB0: Unexpected exception on in-memory page null
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.StoredPage.initSlotTable(Unknown Source)
at org.apache.derby.impl.store.raw.data.StoredPage.initFromData(Unknown
Source)
at org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(Unknown
Source)
at
org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.addEntry(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.find(Unknown Source)
at org.apache.derby.impl.store.raw.data.FileContainer.initPage(Unknown
Source)
at org.apache.derby.impl.store.raw.data.FileContainer.newPage(Unknown
Source)
at org.apache.derby.impl.store.raw.data.BaseContainer.addPage(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.BaseContainerHandle.addPage(Unknown Source)
at
org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown Source)
at
org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown
Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at
org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2061)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2426)
at
org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:908)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:344)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.swissbyte.decs.db.dao.WorktabDAO.put(WorktabDAO.java:222)
at com.swissbyte.decs.Decs.generateHeartBeat(Decs.java:819)
at com.swissbyte.decs.Decs.workLoop(Decs.java:383)
at
com.swissbyte.tools.threads.CHBMainThread.start(CHBMainThread.java:63)
at com.swissbyte.decs.Decs.start(Decs.java:262)
at com.swissbyte.decscust.mt.MTDecs.main(MTDecs.java:83)
at com.swissbyte.decscust.mt.MTDecsService.main(MTDecsService.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:159)
at java.lang.Thread.run(Unknown Source)
2005-12-08 13:55:35.734 GMT Thread[IC02,5,main] (XID = 188859899), (SESSIONID =
5), (DATABASE = mtdecsDB), (DRDAID = null), Cleanup action starting
2005-12-08 13:55:35.734 GMT Thread[IC02,5,main] (XID = 188859899), (SESSIONID =
5), (DATABASE = mtdecsDB), (DRDAID = null), Failed Statement is: select
this_.CLIENT as CLIENT14_0_, this_.QUEUE as QUEUE14_0_, this_.DATAID as
DATAID14_0_, this_.DECSID as DECSID14_0_, this_.ORIGINID as ORIGINID14_0_,
this_.PRIORITY as PRIORITY14_0_, this_.EVENT_TS as EVENT7_14_0_,
this_.DATACLASS as DATACLASS14_0_, this_.XDATA as XDATA14_0_ from WORKTAB this_
where this_.QUEUE=? order by this_.PRIORITY desc, this_.EVENT_TS asc
java.lang.ClassCastException: org.apache.derby.iapi.store.raw.PageKey
at
org.apache.derby.impl.store.raw.data.RAFContainer.setIdentity(Unknown Source)
at
org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.addEntry(Unknown Source)
at org.apache.derby.impl.services.cache.Clock.find(Unknown Source)
at
org.apache.derby.impl.store.raw.data.FileContainer.getUserPage(Unknown Source)
at
org.apache.derby.impl.store.raw.data.FileContainer.getNextHeadPage(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.BaseContainer.getNextPage(Unknown Source)
at
org.apache.derby.impl.store.raw.data.BaseContainerHandle.getNextPage(Unknown
Source)
at
org.apache.derby.impl.store.access.conglomerate.GenericScanController.positionAtNextPage(Unknown
Source)
at
org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(Unknown
Source)
at
org.apache.derby.impl.store.access.heap.HeapScan.fetchNextGroup(Unknown Source)
at
org.apache.derby.impl.sql.execute.BulkTableScanResultSet.reloadArray(Unknown
Source)
at
org.apache.derby.impl.sql.execute.BulkTableScanResultSet.getNextRowCore(Unknown
Source)
at
org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown
Source)
at
org.apache.derby.impl.sql.execute.SortResultSet.getRowFromResultSet(Unknown
Source)
at
org.apache.derby.impl.sql.execute.SortResultSet.getNextRowFromRS(Unknown Source)
at org.apache.derby.impl.sql.execute.SortResultSet.loadSorter(Unknown
Source)
at org.apache.derby.impl.sql.execute.SortResultSet.openCore(Unknown
Source)
at
org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown
Source)
at
org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at
org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1676)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:223)
at org.hibernate.loader.Loader.doList(Loader.java:2147)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2026)
at org.hibernate.loader.Loader.list(Loader.java:2021)
at
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1375)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:298)
at
com.swissbyte.decs.db.dao.WorktabDAO.getNextEventList(WorktabDAO.java:94)
at com.swissbyte.decs.work.WorkThread.work(WorkThread.java:96)
at
com.swissbyte.decs.tools.DecsThreadAbstract.run(DecsThreadAbstract.java:107)
2005-12-08 13:55:35.734 GMT Thread[WP00,5,main] (XID = 188859898), (SESSIONID =
3), (DATABASE = mtdecsDB), (DRDAID = null), Cleanup action starting
2005-12-08 13:55:35.734 GMT Thread[WP00,5,main] (XID = 188859898), (SESSIONID =
3), (DATABASE = mtdecsDB), (DRDAID = null), Failed Statement is: select
this_.CLIENT as CLIENT14_0_, this_.QUEUE as QUEUE14_0_, this_.DATAID as
DATAID14_0_, this_.DECSID as DECSID14_0_, this_.ORIGINID as ORIGINID14_0_,
this_.PRIORITY as PRIORITY14_0_, this_.EVENT_TS as EVENT7_14_0_,
this_.DATACLASS as DATACLASS14_0_, this_.XDATA as XDATA14_0_ from WORKTAB this_
where this_.QUEUE=? order by this_.PRIORITY desc, this_.EVENT_TS asc