Hi Kathey,
I re-checked derby.log and there was an OOM error. What is interesting
is that the delete completed anyway.
2009-03-09 05:31:34.731 GMT Thread[DRDAConnThread_3,5,main] (XID =
18628704), (SESSIONID = 21), (DATABASE = nhmnetflowdb), (DRDAID =
NF000001.C4E3-4182998392339954695{22}), Failed Statement is: DELETE FROM
"SA"."NETFLOWDATA"
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.ensureCapacity(Unknown Source)
at java.util.ArrayList.add(Unknown Source)
at
org.apache.derby.impl.store.raw.xact.Xact.addPostCommitWork(Unknown Source)
at
org.apache.derby.impl.store.access.RAMTransaction.addPostCommitWork(Unknown
Source)
at
org.apache.derby.impl.store.access.heap.HeapController.queueDeletePostCommitWork(Unknown
Source)
at
org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.delete(Unknown
Source)
at
org.apache.derby.impl.sql.execute.RowChangerImpl.deleteRow(Unknown Source)
at
org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown
Source)
at org.apache.derby.impl.sql.execute.DeleteResultSet.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.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown
Source)
at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLIMM(Unknown
Source)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown
Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
Thanks for the help,
Emmanuel
I am running some tests trying to see the limits of Derby. I am using
Derby 10.4.2.0 on JDK 1.6.0 update 7, Windows Vista.
I created a table with 1 millions rows (no index) and then executed
DELETE * FROM table.
No error on the Derby console.
I got the following exception in the client app (running locally on
the same machine):
java.sql.SQLException: Network protocol exception: actual code point,
4,692, does not match expected code point, 9,224. The connection has
been terminated.
Usually a protocol exception is indicative of a bug, but it is unusual
for it to come on a delete, which should be a fairly straight forward
operation from a protocol perspective. Was there anything of use in
the derby.log? Do you have reproduction for the issue that you can
post to Jira?
Thanks
Kathey
--
Emmanuel Cecchet
FTO @ Frog Thinker
Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: [email protected]
Skype: emmanuel_cecchet