[
https://issues.apache.org/jira/browse/DERBY-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422187#comment-13422187
]
Gonzalo Herreros commented on DERBY-5858:
-----------------------------------------
CREATE TABLE trend_info
(
stream varchar(30),
period_id VARCHAR(30) NOT NULL,
trend_id INT NOT NULL,
sex FLOAT,
sentiment CLOB,
relevance FLOAT,
last_update timestamp,
FOREIGN KEY (stream, period_id, trend_id) REFERENCES trends(stream,
period_id, trend_id) ON DELETE CASCADE,
PRIMARY KEY (stream, period_id, trend_id)
);
alter table trend_info add column rt_ratio float;
alter table trend_info add column description varchar(500);
alter table trend_info add column location clob;
I have noticed something more important, about the time the error happened I
indexed the column that later became corrupted:
create index trends_info_last_update on trend_info (last_update);
> java.sql.SQLException: nospc.U trying to update a row
> -----------------------------------------------------
>
> Key: DERBY-5858
> URL: https://issues.apache.org/jira/browse/DERBY-5858
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.8.2.2
> Environment: Linux 2.6.18-194.el5 Java 1.6.0_23
> Derby 10.8.2.2 - (1181258)
> Reporter: Gonzalo Herreros
>
> 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
> starting
> Fri 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
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira