Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
10.8.2.2
-
None
-
Linux 2.6.18-194.el5 Java 1.6.0_23
Derby 10.8.2.2 - (1181258)
-
Normal
-
Data corruption
Description
After browsing other issues, it seems the error nospc.U should not be thrown whenever there is still space in the disk.
The issue is that I have a table with about 80k rows and 3 rows for some reason became corrupted, The rows where inserted about the same time. The rest of the table and the DB is working ok for weeks until I noticed the problem with those 3.
The error is triggered when I try to set a value update in the timestamp column in any of those 3 rows. If I set that column to null it allows me to update other columns.
I'm not sure if it is related but I have added 3 other columns to that table after it was created but not the timestamp one that is failing.
The way I worked around this problem was dropping and recreating the timestamp column.
Following the derby log, the problem is in the column named "last_update":
Fri Jul 13 12:31:57 IDT 2012 Thread[DRDAConnThread_5,5,main] (XID = 458542073), (SESSIONID = 7), (DATABASE = twitter), (DRDAID = ��������.���-650487329006424032
{4}), Cleanup action startingFri Jul 13 12:31:57 IDT 2012 Thread[DRDAConnThread_5,5,main] (XID = 458542073), (SESSIONID = 7), (DATABASE = twitter), (DRDAID = ��������.���-650487329006424032{4}
), Failed Statement is: UPDATE trend_info SET last_update='2012-07-13 09:30:52' WHERE stream='android' AND period_id='2012_06_02_23' AND trend_id=262
ERROR nospc: nospc.U
at org.apache.derby.impl.store.raw.data.StoredPage.logRow(Unknown Source)
at org.apache.derby.impl.store.raw.data.UpdateOperation.writeOptionalDataToBuffer(Unknown Source)
at org.apache.derby.impl.store.raw.data.UpdateOperation.<init>(Unknown Source)
at org.apache.derby.impl.store.raw.data.LoggableActions.actionUpdate(Unknown Source)
at org.apache.derby.impl.store.raw.data.StoredPage.doUpdateAtSlot(Unknown Source)
at org.apache.derby.impl.store.raw.data.BasePage.updateAtSlot(Unknown Source)
at org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.replace(Unknown Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.updateRow(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(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)
Cleanup action completed
Attachments
Issue Links
- relates to
-
DERBY-4577 An expanding update fails with an nospc.U error.
- Closed
-
DERBY-4923 update of a long row can fail with ERROR nospc: nospc.U exception.
- Closed