Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 87093 invoked from network); 5 May 2006 00:17:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 May 2006 00:17:55 -0000 Received: (qmail 25722 invoked by uid 500); 5 May 2006 00:17:54 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 25691 invoked by uid 500); 5 May 2006 00:17:54 -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 25680 invoked by uid 99); 5 May 2006 00:17:54 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 May 2006 17:17:54 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 May 2006 17:17:53 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 30732410008 for ; Fri, 5 May 2006 00:17:18 +0000 (GMT) Message-ID: <24553816.1146788238179.JavaMail.jira@brutus> Date: Fri, 5 May 2006 00:17:18 +0000 (GMT+00:00) From: "Sunitha Kambhampati (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-1280) Derby throws "ERROR XSDG1: Page could not be written to disk, please check if disk is full" when there is 20+ gigs of free space In-Reply-To: <14579839.1146685128588.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 X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DERBY-1280?page=all ] Sunitha Kambhampati updated DERBY-1280: --------------------------------------- Attachment: Limits.java I am attaching a simple test file that makes calls to RandomAccessFile.length, seek, getFilePointer. It would be nice if others with different platforms/jvms can run this test and see if it works ok for file size greater than 2G. The test program writes to a file in 1M chunks, so you can specify the number of those blocks to write to. // to make calls to RandomAccessfile for file with size 3G java Limits 3072 The program prints out the output of getFilePointer, and length after writing 1M of data - so there will be a lot of output. I ran this test to write to a file of size 3G on a linux box with RHEL 4/ ibm1.4.2 jvm. Environment details where this test ran ok with file >2G: $ uname -a Linux 2.6.9-22.0.1.ELsmp #1 SMP Tue Oct 18 18:39:27 EDT 2005 i686 i686 i386 GNU/Linux $ cat /etc/redhat-release Red Hat Enterprise Linux AS release 4 (Nahant Update 3) $ java -version java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142-20050929 (SR3) (JIT enabled: jitc)) > Derby throws "ERROR XSDG1: Page could not be written to disk, please check if disk is full" when there is 20+ gigs of free space > -------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-1280 > URL: http://issues.apache.org/jira/browse/DERBY-1280 > Project: Derby > Type: Bug > Components: Store > Versions: 10.1.2.1 > Environment: Environment: IBM ThinkCentre, pentium 4, 1 gig memory, 40 gigs of disk > Redhat Linux rel 3. > IBM Java 1.5 > Reporter: Justin Hill > Attachments: Limits.java > > ------------------ Java Information ------------------ > Java Version: 1.5.0 > Java Vendor: IBM Corporation > Java home: /opt/ibm/java2-i386-50/jre > Java classpath: /home/jhills/JazzDev0411/org.apache.derby.core/derby.jar:/home/jhills/JazzDev0411/org.apache.derby.core/derbyclient.jar:/home/jhills/JazzDev0411/org.apache.derby.core/derbytools.jar:/home/jhills/JazzDev0411/org.apache.derby.core/derbynet.jar > OS name: Linux > OS architecture: x86 > OS version: 2.4.21-37.EL > Java user name: jhills > Java user home: /home/jhills > Java user dir: /home/jhills/JazzDev0411/org.apache.derby.core > java.specification.name: Java Platform API Specification > java.specification.version: 1.5 > --------- Derby Information -------- > JRE - JDBC: J2SE 5.0 - JDBC 3.0 > [/home/jhills/JazzDev0411/org.apache.derby.core/derby.jar] 10.1.2.1 - (330608) > [/home/jhills/JazzDev0411/org.apache.derby.core/derbyclient.jar] 10.1.2.1 - (330608) > [/home/jhills/JazzDev0411/org.apache.derby.core/derbytools.jar] 10.1.2.1 - (330608) > [/home/jhills/JazzDev0411/org.apache.derby.core/derbynet.jar] 10.1.2.1 - (330608) > ------------------------------------------------------ > ----------------- Locale Information ----------------- > ------------------------------------------------------ > We are an IBM project that is using Derby and we need a solution or a workaround to this problem. The Derby error is thrown after about 3 hours of running the application which involves a large number of inserts to the database. Even though it is not easy to provide a way to reproduce the error , we can easily reproduce it and are we are willing to work with anyone to assist in finding a solution to this problem. > This issue seems to be related to a previously reported issue Derby-151. We are running with autocommit off. It appears that the XSDG1 error is in response to a java.io.IOException being thrown by the native method "length" in java.io.RandomAccessFile. It always seems to happen while trying to write page #65536 to disk. > Below is the derby.log file. > ---------------------------------------------------------------- > 2006-04-28 14:07:03.389 GMT: > Booting Derby version The Apache Software Foundation - Apache Derby - 10.1.2.1 - (330608): instance c013800d-010a-e0d2-ba43-00000016c308 > on database directory /home/jhills/magnolia-runtime/teamRepositoryDB > Database Class Loader started - derby.database.classpath='' > 2006-04-28 17:26:22.961 GMT Thread[Worker-1,5,main] (XID = 1707467), (SESSIONID = 0), (DATABASE = /home/jhills/magnolia-runtime/teamRepositoryDB), (DRDAID = null), Cleanup action starting > 2006-04-28 17:26:22.961 GMT Thread[Worker-1,5,main] (XID = 1707467), (SESSIONID = 0), (DATABASE = /home/jhills/magnolia-runtime/teamRepositoryDB), (DRDAID = null), Failed Statement is: insert into core.content_storage values (?, ?, ?, ?, ?, ?) > ERROR XSDG1: Page Page(65536,Container(0, 17488)) could not be written to disk, please check if disk is full. > at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) > at org.apache.derby.impl.store.raw.data.CachedPage.writePage(Unknown Source) > at org.apache.derby.impl.store.raw.data.CachedPage.createIdentity(Unknown Source) > at org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(Unknown Source) > at org.apache.derby.impl.services.cache.Clock.addEntry(Unknown Source) > at org.apache.derby.impl.services.cache.Clock.create(Unknown Source) > at org.apache.derby.impl.store.raw.data.FileContainer.initPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.FileContainer.newPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.BaseContainer.addPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.StoredPage.getNewOverflowPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insertLongColumn(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insertAllowOverflow(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insert(Unknown Source) > at org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown Source) > at org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown Source) > at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.open(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.EmbedPreparedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source) > at com.ibm.team.core.repository.db.jdbcwrappers.stat.PreparedStatementStatWrapper.executeUpdate(PreparedStatementStatWrapper.java:63) > at com.ibm.team.core.repository.db.jdbcwrappers.leak.PreparedStatementLeakWrapper.executeUpdate(PreparedStatementLeakWrapper.java:63) > at com.ibm.team.core.repository.db.filestorage.ContentStorage.saveContent(ContentStorage.java:160) > at com.ibm.team.core.repository.db.filestorage.ContentStorage.saveContent(ContentStorage.java:172) > at com.ibm.team.internal.repository.RdbRepositoryDataMediator.saveContent(RdbRepositoryDataMediator.java:1257) > at com.ibm.team.core.repository.content.impl.DefaultContentServiceImpl.internalPersistStoredContent(DefaultContentServiceImpl.java:452) > at com.ibm.team.core.repository.content.impl.DefaultContentServiceImpl.internalPersistAndMaybeCompressStoredContent(DefaultContentServiceImpl.java:484) > at com.ibm.team.internal.repository.BaseItemUtils.saveContent(BaseItemUtils.java:34) > at com.ibm.team.internal.repository.BaseItemUtils.saveAllContent(BaseItemUtils.java:70) > at com.ibm.team.internal.repository.BaseItemUtils.saveAllContent(BaseItemUtils.java:49) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalSaveVersionable(ConfigurationServiceInternal.java:2591) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalSaveVersionables(ConfigurationServiceInternal.java:2536) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalCommit(ConfigurationServiceInternal.java:1798) > at com.ibm.team.internal.repository.ConfigurationService$22.run(ConfigurationService.java:786) > at com.ibm.team.internal.repository.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:192) > at com.ibm.team.internal.repository.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:129) > at com.ibm.team.core.service.utils.AbstractService.runInTransaction(AbstractService.java:253) > at com.ibm.team.internal.repository.ConfigurationService.commit(ConfigurationService.java:779) > at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at com.ibm.team.internal.core.services.LocalProxiedTeamService.invokeMethodUsingNewMarshaller(LocalProxiedTeamService.java:155) > at com.ibm.team.internal.core.services.LocalProxiedTeamService.invoke(LocalProxiedTeamService.java:108) > at com.ibm.team.internal.core.services.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:43) > at $Proxy1.commit(Unknown Source) > at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at com.ibm.team.internal.core.client.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:50) > at $Proxy15.commit(Unknown Source) > at com.ibm.team.internal.core.client.configuration.WorkspaceConnection.commit(WorkspaceConnection.java:1737) > at com.ibm.team.internal.core.client.configuration.DeprecatedWorkspaceConnection.commit(DeprecatedWorkspaceConnection.java:177) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commit(ChangeSetArchiveImporter.java:430) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commitChangesFromMap(ChangeSetArchiveImporter.java:406) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commitChanges(ChangeSetArchiveImporter.java:278) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.importChangeSetArchive(ChangeSetArchiveImporter.java:190) > at com.ibm.team.migration.operations.ImportOperation.doImport(ImportOperation.java:191) > at com.ibm.team.migration.ccvs.ui.ChangeArchiveImportWizard$1.run(ChangeArchiveImportWizard.java:148) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) > ============= begin nested exception, level (1) =========== > java.io.IOException: Value too large for defined data type > at java.io.RandomAccessFile.length(Native Method) > at org.apache.derby.impl.store.raw.data.RAFContainer.padFile(Unknown Source) > at org.apache.derby.impl.store.raw.data.RAFContainer.writePage(Unknown Source) > at org.apache.derby.impl.store.raw.data.CachedPage.writePage(Unknown Source) > at org.apache.derby.impl.store.raw.data.CachedPage.createIdentity(Unknown Source) > at org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(Unknown Source) > at org.apache.derby.impl.services.cache.Clock.addEntry(Unknown Source) > at org.apache.derby.impl.services.cache.Clock.create(Unknown Source) > at org.apache.derby.impl.store.raw.data.FileContainer.initPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.FileContainer.newPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.BaseContainer.addPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.StoredPage.getNewOverflowPage(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insertLongColumn(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insertAllowOverflow(Unknown Source) > at org.apache.derby.impl.store.raw.data.BasePage.insert(Unknown Source) > at org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown Source) > at org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown Source) > at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.open(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.EmbedPreparedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source) > at com.ibm.team.core.repository.db.jdbcwrappers.stat.PreparedStatementStatWrapper.executeUpdate(PreparedStatementStatWrapper.java:63) > at com.ibm.team.core.repository.db.jdbcwrappers.leak.PreparedStatementLeakWrapper.executeUpdate(PreparedStatementLeakWrapper.java:63) > at com.ibm.team.core.repository.db.filestorage.ContentStorage.saveContent(ContentStorage.java:160) > at com.ibm.team.core.repository.db.filestorage.ContentStorage.saveContent(ContentStorage.java:172) > at com.ibm.team.internal.repository.RdbRepositoryDataMediator.saveContent(RdbRepositoryDataMediator.java:1257) > at com.ibm.team.core.repository.content.impl.DefaultContentServiceImpl.internalPersistStoredContent(DefaultContentServiceImpl.java:452) > at com.ibm.team.core.repository.content.impl.DefaultContentServiceImpl.internalPersistAndMaybeCompressStoredContent(DefaultContentServiceImpl.java:484) > at com.ibm.team.internal.repository.BaseItemUtils.saveContent(BaseItemUtils.java:34) > at com.ibm.team.internal.repository.BaseItemUtils.saveAllContent(BaseItemUtils.java:70) > at com.ibm.team.internal.repository.BaseItemUtils.saveAllContent(BaseItemUtils.java:49) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalSaveVersionable(ConfigurationServiceInternal.java:2591) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalSaveVersionables(ConfigurationServiceInternal.java:2536) > at com.ibm.team.internal.repository.ConfigurationServiceInternal.internalCommit(ConfigurationServiceInternal.java:1798) > at com.ibm.team.internal.repository.ConfigurationService$22.run(ConfigurationService.java:786) > at com.ibm.team.internal.repository.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:192) > at com.ibm.team.internal.repository.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:129) > at com.ibm.team.core.service.utils.AbstractService.runInTransaction(AbstractService.java:253) > at com.ibm.team.internal.repository.ConfigurationService.commit(ConfigurationService.java:779) > at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at com.ibm.team.internal.core.services.LocalProxiedTeamService.invokeMethodUsingNewMarshaller(LocalProxiedTeamService.java:155) > at com.ibm.team.internal.core.services.LocalProxiedTeamService.invoke(LocalProxiedTeamService.java:108) > at com.ibm.team.internal.core.services.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:43) > at $Proxy1.commit(Unknown Source) > at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:615) > at com.ibm.team.internal.core.client.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:50) > at $Proxy15.commit(Unknown Source) > at com.ibm.team.internal.core.client.configuration.WorkspaceConnection.commit(WorkspaceConnection.java:1737) > at com.ibm.team.internal.core.client.configuration.DeprecatedWorkspaceConnection.commit(DeprecatedWorkspaceConnection.java:177) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commit(ChangeSetArchiveImporter.java:430) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commitChangesFromMap(ChangeSetArchiveImporter.java:406) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.commitChanges(ChangeSetArchiveImporter.java:278) > at com.ibm.team.migration.ccvs.ChangeSetArchiveImporter.importChangeSetArchive(ChangeSetArchiveImporter.java:190) > at com.ibm.team.migration.operations.ImportOperation.doImport(ImportOperation.java:191) > at com.ibm.team.migration.ccvs.ui.ChangeArchiveImportWizard$1.run(ChangeArchiveImportWizard.java:148) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) > ============= end nested exception, level (1) =========== > 2006-04-28 17:26:27.629 GMT: > Shutting down instance c013800d-010a-e0d2-ba43-00000016c308 > ---------------------------------------------------------------- > Cleanup action completed > ---------------------------------------------------------------- > 2006-04-28 17:26:30.258 GMT: > Booting Derby version The Apache Software Foundation - Apache Derby - 10.1.2.1 - (330608): instance 13e1c7d6-010a-e0d2-ba43-00000016c308 > on database directory /home/jhills/magnolia-runtime/teamRepositoryDB > Database Class Loader started - derby.database.classpath='' -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira