db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Kovgan (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-465) Embedded Derby-PointBase comparison
Date Thu, 21 Jul 2005 07:06:47 GMT
    [ http://issues.apache.org/jira/browse/DERBY-465?page=comments#action_12316319 ] 

Peter Kovgan commented on DERBY-465:
------------------------------------

I have also errors in my new WRITE-multithreading test:

Description:
1 thread runs:

Thread Cycle:{
   openConnection()
   insert(5000 rows, with commit per 10 rows) 
   update(affects 5 000 rows)
   delete(affects 5 000 rows)
   closeConnection()
}

Error is on update and on delete, it seems that error may be because connection was not closed
after insert:


ERROR 40XL1: A lock could not be obtained within the time requested
	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java)
	at org.apache.derby.impl.services.locks.LockSet.lockObject(LockSet.java)
	at org.apache.derby.impl.services.locks.SinglePool.lockAnObject(SinglePool.java)
	at org.apache.derby.impl.services.locks.SinglePool.lockObject(SinglePool.java)
	at org.apache.derby.impl.store.raw.xact.RowLocking2.lockRecordForRead(RowLocking2.java)
	at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.lockPositionForRead(OpenConglomerate.java)
	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java)
	at org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(HeapScan.java)
	at org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java)
	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java)
	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java)
	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java)
	at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java)
	at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java)
	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java)
	at com.bmc.dbtest.threads.DBOperations.testUpdate(Unknown Source)
	at com.bmc.dbtest.threads.User.performUpdate(Unknown Source)
	at com.bmc.dbtest.threads.User.runCycle(Unknown Source)
	at com.bmc.dbtest.threads.User.run(Unknown Source)
ERROR 40XL1: A lock could not be obtained within the time requested
	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java)
	at org.apache.derby.impl.services.locks.LockSet.lockObject(LockSet.java)
	at org.apache.derby.impl.services.locks.SinglePool.lockAnObject(SinglePool.java)
	at org.apache.derby.impl.services.locks.SinglePool.lockObject(SinglePool.java)
	at org.apache.derby.impl.store.raw.xact.RowLocking2.lockRecordForRead(RowLocking2.java)
	at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.lockPositionForRead(OpenConglomerate.java)
	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java)
	at org.apache.derby.impl.store.access.heap.HeapScan.fetchNext(HeapScan.java)
	at org.apache.derby.impl.sql.execute.TableScanResultSet.getNextRowCore(TableScanResultSet.java)
	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(ProjectRestrictResultSet.java)
	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java)
	at org.apache.derby.impl.sql.execute.DeleteResultSet.setup(DeleteResultSet.java)
	at org.apache.derby.impl.sql.execute.DeleteResultSet.open(DeleteResultSet.java)
	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java)
	at com.bmc.dbtest.threads.DBOperations.makeDelete(Unknown Source)
	at com.bmc.dbtest.threads.User.performDelete(Unknown Source)
	at com.bmc.dbtest.threads.User.runCycle(Unknown Source)
	at com.bmc.dbtest.threads.User.run(Unknown Source)

> Embedded Derby-PointBase comparison
> -----------------------------------
>
>          Key: DERBY-465
>          URL: http://issues.apache.org/jira/browse/DERBY-465
>      Project: Derby
>         Type: Wish
>   Components: Test
>     Versions: 10.0.2.1, 10.0.2.0
>  Environment: Windows Server 2003, 4 processors, summary CPU 3.00 Ghz, RAM 1 Gb
>     Reporter: Peter Kovgan
>  Attachments: Benchmarks_info_independent.doc, DBOperations.java, Multithreading-access
read.doc, User.java, derby-optimization.doc, derby-pb1.doc
>
> I have tested 4 major embedded DB.
> I have found that major disadvantage of Derby is 
> 1)low insert speed and 
> 2)significant performance degradation in select, update, delete  operation speed starting
from some table size.
> PointBase in comparison has not such degradation.
> It will be better if you improve your product.
> Good luck and thank you.

-- 
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