db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sunitha Kambhampati (JIRA)" <derby-...@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
Date Fri, 05 May 2006 00:17:18 GMT
     [ 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


Mime
View raw message