[ http://issues.apache.org/jira/browse/DERBY-1280?page=all ]

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


will be interested to see the results of your tests.  This may still be a 
problem in the OS vs. the JVM (trying other jvms
should make this clearer).  The notes
in that one link I included above mention that while the underlying filesystem 
was altered in the 2.4 linux version
some of the stuff to access the files was still not completely right.
Derby uses at least the following calls:
    RandomAccessFile.seek(long)
     long = RandomAccessFile.length()
    long = RandomAccessFile.getFilePointer()

>From looking at the Derby call I think a problem happened even before the 
>exception that you are reporting.  It
tried to seek to an bigger than 2 gig address using RandomAccessFile.seek(), 
and then there is a check
to see if the seek worked (the check is for some long ago wierd behavior on a 
handheld device):

if (fileData.getFilePointer() != pageOffset)
    padFile(fileData, pageOffset);

I would not expect this condition on linux, so I would guess that either seek 
or getFilePointer is also doing something
wrong.  In your test it would be interesting to see if you can seek past 2 gig 
and what getFilePointer does.

Are you tied to release 3 of redhat, or is release 4 an option?  I think we 
have a release 4 around here, we could check on.

> 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

Reply via email to