Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5858

java.sql.SQLException: nospc.U trying to update a row



    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s:
    • Fix Version/s: None
    • Component/s: Store
    • Environment:
      Linux 2.6.18-194.el5 Java 1.6.0_23
      Derby - (1181258)
    • Urgency:
    • Bug behavior facts:
      Data corruption


      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


          Issue Links



              • Assignee:
                gherreros Gonzalo Herreros
              • Votes:
                0 Vote for this issue
                5 Start watching this issue


                • Created: