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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 10.8.2.2
    • None
    • Store
    • 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 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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gherreros Gonzalo Herreros
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: