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 Bryan Pendleton <bp...@amberpoint.com> on 2008/05/08 04:15:34 UTC

Record cannot be updated or inserted due to lack of space on the page

I'm seeing the following message in the JDBCAPI suite when I
run 'ant junitreport' with the current trunk. I'm not quite
sure when it started happening, sometime within the last few
weeks I think?

This is on a RedHat Linux machine with the Sun 1.5 JDK.

Are others seeing this?

thanks,

bryan


Limitation: Record cannot be updated or inserted due to lack of space on the page. Use the parameters derby.storage.pageSize and/or 
derby.storage.pageReservedSpace to work around this limitation.

java.sql.SQLException: Limitation: Record cannot be updated or inserted due to lack of space on the page. Use the parameters 
derby.storage.pageSize and/or derby.storage.pageReservedSpace to work around this limitation. at 
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) at 
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201) at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391) at 
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346) at 
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125) at 
org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) at 
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1325) at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652) at 
org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:117) at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1307) at 
org.apache.derbyTesting.junit.CleanDatabaseTestSetup.compressObjects(CleanDatabaseTestSetup.java:267) at 
org.apache.derbyTesting.junit.CleanDatabaseTestSetup.cleanDatabase(CleanDatabaseTestSetup.java:166) at 
org.apache.derbyTesting.junit.CleanDatabaseTestSetup.setUp(CleanDatabaseTestSetup.java:109) at 
junit.extensions.TestSetup$1.protect(TestSetup.java:18) at junit.extensions.TestSetup.run(TestSetup.java:23) at 
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)Caused by: ERROR XSDA3: Limitation: Record cannot be updated 
or inserted due to lack of space on the page. Use the parameters derby.storage.pageSize and/or derby.storage.pageReservedSpace to 
work around this limitation. at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:276) at 
org.apache.derby.impl.store.raw.data.CopyRowsOperation.writeOptionalDataToBuffer(CopyRowsOperation.java:287) at 
org.apache.derby.impl.store.raw.data.CopyRowsOperation.<init>(CopyRowsOperation.java:98) at 
org.apache.derby.impl.store.raw.data.LoggableActions.actionCopyRows(LoggableActions.java:159) at 
org.apache.derby.impl.store.raw.data.BasePage.copyInto(BasePage.java:2045) at 
org.apache.derby.impl.store.raw.data.BasePage.copyAndPurge(BasePage.java:1300) at 
org.apache.derby.impl.store.raw.data.StoredPage.moveRecordForCompressAtSlot(StoredPage.java:6915) at 
org.apache.derby.impl.store.access.heap.HeapCompressScan.fetchRowsForCompress(HeapCompressScan.java:230) at 
org.apache.derby.impl.store.access.heap.HeapCompressScan.fetchNextGroup(HeapCompressScan.java:85) at 
org.apache.derby.iapi.db.OnlineCompress.defragmentRows(OnlineCompress.java:375) at 
org.apache.derby.iapi.db.OnlineCompress.compressTable(OnlineCompress.java:219) at 
org.apache.derby.catalog.SystemProcedures.SYSCS_INPLACE_COMPRESS_TABLE(SystemProcedures.java:942) at 
org.apache.derby.exe.ac354888c2x0119xc62ax45c9x00000d66ee082.g0(Unknown Source) at 
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46) at 
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:76) at 
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:384) at 
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235) ... 17 more


Re: Record cannot be updated or inserted due to lack of space on the page

Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
Bryan Pendleton wrote:
> I'm seeing the following message in the JDBCAPI suite when I
> run 'ant junitreport' with the current trunk. I'm not quite
> sure when it started happening, sometime within the last few
> weeks I think?
> 
> This is on a RedHat Linux machine with the Sun 1.5 JDK.
> 
> Are others seeing this?

Hi Bryan,

The error looks similar to the errors reported in the following JIRA issues:

https://issues.apache.org/jira/browse/DERBY-3180
https://issues.apache.org/jira/browse/DERBY-3381
https://issues.apache.org/jira/browse/DERBY-3625

-- 
Knut Anders

Re: Record cannot be updated or inserted due to lack of space on the page

Posted by John Embretsen <Jo...@Sun.COM>.
Bryan Pendleton wrote:
>>> Limitation: Record cannot be updated or inserted due to lack of space
>>> on the page. Use the parameters derby.storage.pageSize and/or
>>> derby.storage.pageReservedSpace to work around this limitation.
>>>
>> I have not seen this. Does it cause a test to fail or just show up in
>> the derby.log?
> 
> It doesn't seem to cause any tests to fail, it's just captured in
> the junitreport output file. The test name in the junitreport is
> reported as "unknown".

I just ran junitreport on a Solaris 10 x86 machine using JDK 1.5.0_14, and the
jdbcapi._Suite failed in one test with the same error message. The suite's xml
report contained the test class name:

<testcase
classname="org.apache.derbyTesting.functionTests.tests.jdbcapi.SetTransactionIsolationTest$1"
name="unknown" time="0.0010">    <error message="Limitation: Record cannot be
updated or inserted due to lack of space on the page. Use the parameters
derby.storage.pageSize and/or derby.storage.pageReservedSpace to work around
this limitation."
type="org.apache.derby.impl.jdbc.EmbedSQLException">java.sql.SQLException:
Limitation: Record cannot be updated or inserted due to lack of space on the
page. Use the parameters derby.storage.pageSize and/or
derby.storage.pageReservedSpace to work around this limitation.
        at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:201)
(...)

The stack trace seems to be the same as Bryan's, so I'm not posting it here.


-- 
John



Re: Record cannot be updated or inserted due to lack of space on the page

Posted by Bryan Pendleton <bp...@amberpoint.com>.
>> Limitation: Record cannot be updated or inserted due to lack of space 
>> on the page. Use the parameters derby.storage.pageSize and/or 
>> derby.storage.pageReservedSpace to work around this limitation.
>>
> I have not seen this. Does it cause a test to fail or just show up in 
> the derby.log?

It doesn't seem to cause any tests to fail, it's just captured in
the junitreport output file. The test name in the junitreport is
reported as "unknown".

I'll try running the jdbcapi suite outside of junitreport to see if
I get any better information that way.

thanks,

bryan


Re: Record cannot be updated or inserted due to lack of space on the page

Posted by Kathey Marsden <km...@sbcglobal.net>.
Bryan Pendleton wrote:
> I'm seeing the following message in the JDBCAPI suite when I
> run 'ant junitreport' with the current trunk.

> Limitation: Record cannot be updated or inserted due to lack of space 
> on the page. Use the parameters derby.storage.pageSize and/or 
> derby.storage.pageReservedSpace to work around this limitation.
>
I have not seen this. Does it cause a test to fail or just show up in 
the derby.log?

Kathey