db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manjula Kutty (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1118) ERROR XBCA0: Cannot create new object with key Page(644,Container(0, 928))in PageCache cache. The object already exists in the cache.
Date Tue, 04 Apr 2006 18:47:45 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1118?page=comments#action_12373161 ] 

Manjula Kutty commented on DERBY-1118:
--------------------------------------

I re ran the test with inplace compression and backup at every hour and still I'm hitting
the same issue. But at a latertime. Also after hitting the error all the inserts to the table
with blob column are failing

> ERROR XBCA0: Cannot create new object with key Page(644,Container(0, 928))in PageCache
cache. The object already exists in the cache.
> -------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1118
>          URL: http://issues.apache.org/jira/browse/DERBY-1118
>      Project: Derby
>         Type: Bug

>   Components: Store
>     Versions: 10.2.0.0
>  Environment: With yesterdays derbyjars, on windows 2000 machine with jdk1.5
>     Reporter: Manjula Kutty

>
> I have a small test application with 4 different threads , 4 of them have their own derby
connection. From these threads, one thread will be doing inplace compression and online back
up at every 10 minutes, while others are busy with inserts updates and deletes with some sleep
in between.  I have inserts with both clobs and randomly blobs.  The inserts are taking place
in 2 tables which have referential constraints.  I'm pasting the exceptions I got in the same
order as I got.. 
> ERROR 23505: The statement was aborted because it would have caused a dupli
> cate key value in a unique or primary key constraint or unique index identi
> fied by 'ATTACH__PK' defined on 'ATTACH'.
>         at org.apache.derby.iapi.error.StandardException.newException(Stand
> ardException.java:322)
>         at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDup
> s(IndexChanger.java:487)
>         at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(IndexCha
> nger.java:405)
>         at org.apache.derby.impl.sql.execute.IndexChanger.insert(IndexChang
> er.java:611)
>         at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(IndexSe
> tChanger.java:267)
>         at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowCh
> angerImpl.java:443)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCo
> re(InsertResultSet.java:993)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertRes
> ultSet.java:522)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Gener
> icPreparedStatement.java:359)
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Embed
> Statement.java:1142)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStateme
> nt(EmbedPreparedStatement.java:1421)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(
> EmbedPreparedStatement.java:263)
>         at com.ibm.db2j.tests.scenario.utils.DbTasks.insertMail(DbTasks.jav
> a:359)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.insertMail(Refresh.jav
> a:58)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.doWork(Refresh.java:42
> )
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.run(Refresh.java:21)
> ERROR 40001: A lock could not be obtained due to a deadlock, cycle of locks
>  and waiters is:
> Lock : LATCH, ATTACH, Page(644,Container(0, 928))
>   Waiting XID : {4166, org.apache.derby.impl.store.raw.data.BaseContainerHa
> ndle@f553e3} , APP, CALL SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE(?, ?, ?, ?
> , ?)
>   Granted XID : {4166, org.apache.derby.impl.store.raw.data.BaseContainerHa
> ndle@f553e3}
> . The selected victim is XID : 4166.
>         at org.apache.derby.iapi.error.StandardException.newException(Stand
> ardException.java:322)
>         at org.apache.derby.impl.services.locks.Deadlock.buildException(Dea
> dlock.java:362)
>         at org.apache.derby.impl.services.lock
> s.LockSet.lockObject(LockSet.
> java:458)
>         at org.apache.derby.impl.services.locks.SinglePool.latchObject(Sing
> lePool.java:121)
>         at org.apache.derby.impl.store.raw.data.BasePage.setExclusive(BaseP
> age.java:1724)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.latchPage(Bas
> eContainer.java:504)
>         at org.apache.derby.impl.store.raw.data.FileContainer.latchPage(Fil
> eContainer.java:3289)
>         at org.apache.derby.impl.store.raw.data.FileContainer.getUserPage(F
> ileContainer.java:2396)
>         at org.apache.derby.impl.store.raw.data.FileContainer.getInsertable
> Page(FileContainer.java:2724)
>         at org.apache.derby.impl.store.raw.data.FileContainer.getPageForIns
> ert(FileContainer.java:2802)
>         at org.apache.derby.impl.store.raw.data.FileContainer.getPageForCom
> press(FileContainer.java:2765)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.getPage
> ForCompress(BaseContainerHandle.java:362)
>         at org.apache.derby.impl.store.raw.data.StoredPage.moveRecordForCom
> pressAtSlot(StoredPage.java:6869)
>         at org.apache.derby.impl.store.access.heap.HeapCompressScan.fetchRo
> wsForCompress(HeapCompressScan.java:251)
>         at org.apache.derby.impl.store.access.heap.HeapCompressScan.fetchNe
> xtGroup(HeapCompressScan.java:115)
>         at org.apache.derby.iapi.db.OnlineCompress.defragmentRows(OnlineCom
> press.java:383)
>         at org.apache.derby.iapi.db.OnlineCompress.compressTable(OnlineComp
> ress.java:227)
>         at org.apache.derby.catalog.SystemProcedures.SYSCS_INPLACE_COMPRESS
> _TABLE(SystemProcedures.java:858)
>         at org.apache.derby.exe.ac6b91c056x0109xff42xc9a3x0000001a42580.g0(
> Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
> Impl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
> AccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Refl
> ectMethod.java:45)
>         at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Ca
> llStatementResultSet.java:67)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Gener
> icPreparedStatement.java:359)
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Embed
> Statement.java:1142)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStateme
> nt(EmbedPreparedStatement.java:1421)
>         at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStateme
> nt(EmbedCallableStatement.java:109)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedP
> reparedStatement.java:1105)
>         at com.ibm.db2j.tests.scenario.utils.DbTasks.compressTable(DbTasks.
> java:451)
>         at com.ibm.db2j.tests.scenario.tasks.Backup.DoCompress(Backup.java:
> 47)
>         at com.ibm.db2j.tests.scenario.tasks.Backup.run(Backup.java:34)
> ERROR XBCA0: Cannot create new object with key Page(644,Container(0, 928))
> in PageCache cache. The object already exists in the cache.
>         at org.apache.derby.iapi.error.StandardException.newException(Stand
> ardException.java:322)
>         at org.apache.derby.impl.services.cache.Clock.create(Clock.java:429
> )
>         at org.apache.derby.impl.store.raw.data.FileContainer.initPage(File
> Container.java:2297)
>         at org.apache.derby.impl.store.raw.data.FileContainer.newPage(FileC
> ontainer.java:1761)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.addPage(BaseC
> ontainer.java:291)
>         at org.apache.derby.impl.store.raw.data.StoredPage.getNewOverflowPa
> ge(StoredPage.java:8150)
>         at org.apache.derby.impl.store.raw.data.BasePage.insertLongColumn(B
> asePage.java:922)
>         at org.apache.derby.impl.store.raw.data.BasePage.insertAllowOverflo
> w(BasePage.java:825)
>         at org.apache.derby.impl.store.raw.data.BasePage.insert(BasePage.ja
> va:694)
>         at org.apache.derby.impl.store.access.heap.HeapController.doInsert(
> HeapController.java:306)
>         at org.apache.derby.impl.store.access.heap.HeapController.insertAnd
> FetchLocation(HeapController.java:597)
>         at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowCh
> angerImpl.java:442)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCo
> re(InsertResultSet.java:993)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertRes
> ultSet.java:522)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Gener
> icPreparedStatement.java:359)
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Embed
> Statement.java:1142)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStateme
> nt(EmbedPreparedStatement.java:1421)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(
> EmbedPreparedStatement.java:263)
>         at com.ibm.db2j.tests.scenario.utils.DbTasks.insertMail(DbTasks.jav
> a:359)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.insertMail(Refresh.jav
> a:58)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.doWork(Refresh.java:42
> )
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.run(Refresh.java:21)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message