db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gonzalo Herreros (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5858) java.sql.SQLException: nospc.U trying to update a row
Date Wed, 25 Jul 2012 12:18:34 GMT

    [ 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

       

Mime
View raw message