Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 25609 invoked from network); 5 Feb 2008 09:35:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Feb 2008 09:35:33 -0000 Received: (qmail 10546 invoked by uid 500); 5 Feb 2008 09:35:24 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 10509 invoked by uid 500); 5 Feb 2008 09:35:24 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 10478 invoked by uid 99); 5 Feb 2008 09:35:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Feb 2008 01:35:24 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Feb 2008 09:35:16 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 94D8C714072 for ; Tue, 5 Feb 2008 01:35:08 -0800 (PST) Message-ID: <21310754.1202204108591.JavaMail.jira@brutus> Date: Tue, 5 Feb 2008 01:35:08 -0800 (PST) From: "Knut Anders Hatlen (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-3180) error XSDA3 when test is executing SYSCS_INPLACE_COMPRESS_TABLE in specific situation In-Reply-To: <28356465.1194387771555.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-3180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12565672#action_12565672 ] Knut Anders Hatlen commented on DERBY-3180: ------------------------------------------- This error is also seen in SetTransactionIsolationTest. See DERBY-3381. > error XSDA3 when test is executing SYSCS_INPLACE_COMPRESS_TABLE in specific situation > ------------------------------------------------------------------------------------- > > Key: DERBY-3180 > URL: https://issues.apache.org/jira/browse/DERBY-3180 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.4.0.0 > Reporter: Myrna van Lunteren > Assignee: Mike Matrigali > Attachments: DatabaseMetaDataTest.java, derby.log > > > While attempting to add testing for getBestRowIdentifier from tests jdbcapi/bestrowidentifier.sql and jdbcapi.metadata.java to jdbcapi.DatabaseMetaDataTest, I ran into an occurrence of 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 - but only on running the test a second time without removing wombat. > I've tried various approaches in an attempt to narrowing down and make a better repro, but was not successful. > I tried saving the database after running the first time, then executing call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('SYS', 'SYSDEPENDS', 1, 1, 1) on the database using ij; I tried to change the test to use embeddedSuite instead of defaultSuite, I tried to removing all other tests than the one I added, but nothing repro-ed the issue. I also found that by removing the last table I added to the test fixture into a separate test fixture, the problem went away. That is what is currently checked in... > So, I'll attach the DatabaseMetaDataTest.java that reproduced the problem as well as derby.log when the error occurs. > The online/inplace compress that is being executed (multiple times) is done in the CleanDatabaseSetup.java, and it's on SYS.SYSDEPENDS. > This is the stack trace I get when running the test a second time: > 1) DatabaseMetaDataTest:embeddedjava.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:202) > 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:1574) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1315) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1650) > at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:116) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1305) > at org.apache.derbyTesting.junit.CleanDatabaseTestSetup.compressObjects(CleanDatabaseTestSetup.java:232) > at org.apache.derbyTesting.junit.CleanDatabaseTestSetup.cleanDatabase(CleanDatabaseTestSetup.java:130) > at org.apache.derbyTesting.junit.CleanDatabaseTestSetup.setUp(CleanDatabaseTestSetup.java:73) > 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:280) > at org.apache.derby.impl.store.raw.data.CopyRowsOperation.writeOptionalDataToBuffer(CopyRowsOperation.java:287) > at org.apache.derby.impl.store.raw.data.CopyRowsOperation.(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:6920) > 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.ac601a400fx0116x16f0x0fb7x0000701082432.g0(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) > at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46) > at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:57) > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1225) > ... 17 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.