db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (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 Wed, 03 May 2006 23:25:19 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1280?page=all ]

Mike Matrigali updated DERBY-1280:
----------------------------------


Could you include in your report the following  pieces of info:
1) do you by hand set page size on this table (this is not the usual case but have to ask)?
2) if not, could you post the ddl used to create the table (basically I want to figure out
what page size derby is using, which if you are not setting anything could either be 8k or
32k depending on the datatypes in the table).

I don't think this is related to DERBY-151 as that one is interrupt related, and since you
seem to be able to reliably hit this at
the same page number this issue seems much more likely related to file  size.  If your table
is 32k and you seem to be hitting
it at 64k page number you seem to be hitting a 2gig file size limit.  Derby does not have
such a limit, and has been tested on
files much bigger than 2 gig.  BUT derby can not support big files if the underlying JVM,
OS, filesystem does not.

I am not very well versed in what is included in various linux releases, but have heard that
release 4 of redhat has better large
file support than release 3.  Some things you could try to see if this is a problem is  "ulimit
-a" and post the results.  Also you 
could verify that you can create a file bigger than 2 gig  outside of  derby on the filesystem/machine
you are running derby 
(I used to use something like "dd if=/dev/null of=/tmp/test.dat bs=1024k count=3000" -- which
I am sure I misremembered 
the syntax and no longer work on unix).  

I did a google search on large file support and found the following link which may or may
not be useful.  What really looked 
complicated was the list of exceptions where "old" filesystems on kernels which could support
large files still could not 
support large files.  My reading from this link is that linux 2.4 should support big files.
 What type of filesystem are you using?

large file system link: http://www.suse.de/~aj/linux_lfs.html


> 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

>
> ------------------ 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