Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 50915 invoked from network); 25 Jun 2008 20:27:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Jun 2008 20:27:36 -0000 Received: (qmail 47760 invoked by uid 500); 25 Jun 2008 20:27:37 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 47735 invoked by uid 500); 25 Jun 2008 20:27:37 -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 47724 invoked by uid 99); 25 Jun 2008 20:27:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2008 13:27:37 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2008 20:26:55 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 29241234C14D for ; Wed, 25 Jun 2008 13:26:45 -0700 (PDT) Message-ID: <1087346810.1214425605167.JavaMail.jira@brutus> Date: Wed, 25 Jun 2008 13:26:45 -0700 (PDT) From: "Mike Matrigali (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Resolved: (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:all-tabpanel ] Mike Matrigali resolved DERBY-3180. ----------------------------------- Resolution: Duplicate Fix Version/s: 10.5.0.0 I have verified that this issue is fixed by the changes submitted to fix DERBY-3625. To do this I reverted a codeline to time bug was originally filed and applied the attached file. The repro showed up as described when running the test twice. I think hand applied just the fix for DERBY-3625 and then the test passed both time when run twice rather than encountering the error. The stack traces were also the same as expected from the DERBY-3625 bug. > 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.1.3 > Reporter: Myrna van Lunteren > Assignee: Mike Matrigali > Fix For: 10.5.0.0 > > 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.