You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2011/01/13 00:06:08 UTC
[jira] Updated: (DERBY-4923) update of a long row can fail with
ERROR nospc: nospc.U exception.
[ https://issues.apache.org/jira/browse/DERBY-4923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden updated DERBY-4923:
----------------------------------
Component/s: Store
> update of a long row can fail with ERROR nospc: nospc.U exception.
> ------------------------------------------------------------------
>
> Key: DERBY-4923
> URL: https://issues.apache.org/jira/browse/DERBY-4923
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.5.3.0, 10.6.1.0, 10.6.2.1
> Reporter: Mike Matrigali
> Assignee: Mike Matrigali
> Attachments: derby.log, derby4923repro.diff
>
>
> An update of a row fails with a nospc.U exception. If there is space on the disk then an update should never fail for a space
> issue. The code is meant to always reserve enough space on a page such that if an expanding update happens that does not
> fit, it should in the worst case change the row to an overflow row pointer and put the rest in a linked overflow chain.
> The following set of circumstances will cause this bug (not sure which are exactly needed - just what i did to
> cause the repro), I will be attaching a test case:
> The row being updated has the following characteristics:
> o located on 4k page
> o 2 colum row with 2nd column a blob column
> o the row is a long row with first piece having 1st column on main page, and the 2nd piece having just blob column on overflow page.
> o before the update there is 0 free space on the overflow page.
> o the update causes the blob column to expand past 4k
> Caused by: java.sql.SQLException: nospc.U
> at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
> at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
> at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
> ... 39 more
> Caused by: ERROR nospc: nospc.U
> at org.apache.derby.impl.store.raw.data.StoredPage.logRow(StoredPage.java:4155)
> at org.apache.derby.impl.store.raw.data.UpdateOperation.writeOptionalDataToBuffer(UpdateOperation.java:255)
> at org.apache.derby.impl.store.raw.data.UpdateOperation.<init>(UpdateOperation.java:106)
> at org.apache.derby.impl.store.raw.data.LoggableActions.actionUpdate(LoggableActions.java:80)
> at org.apache.derby.impl.store.raw.data.StoredPage.doUpdateAtSlot(StoredPage.java:8625)
> at org.apache.derby.impl.store.raw.data.BasePage.updateAtSlot(BasePage.java:1062)
> at org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.replace(GenericConglomerateController.java:486)
> at org.apache.derby.impl.sql.execute.RowChangerImpl.updateRow(RowChangerImpl.java:523)
> at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java:569)
> at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:264)
> at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1241)
> ... 33 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.