[ http://issues.apache.org/jira/browse/DERBY-1280?page=comments#action_12378049 ]
Justin Hill commented on DERBY-1280: ------------------------------------ I have now run my version of the test to create large files and use RandomAccessFile methods "getLength", "seek" and "getFilePointer" on some variety of vm's and os's. Windows seems to be fine. IBM Java 1.5 on Linux fails but Sun Java 1.5 works. So I think the problem is probably an IBM Java 1.5 issue. We are going to pursue it with thme. With regard to the last comment I have seen bugs posted about "getLength" failing for RandomAccessFile with large files for file locking and the explanation was that Integer.MAX_VALUE being exceeded. > 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
