Hello
I am using JackRabbit 1.3.3 over default derby repository. I have a batch
process that imports a large (~50000) number of images as blobs into my
repository. At some point late in the process I get the following error.
(Sometimes the error message is different but often the same kind of thing)
When I was working with smaller batches (~10000 images), I managed to avert
the error my raising the minimum JVM memory to 512Mb. Raising the maximum
by itself didn't seem to help.
However, now I am working with bigger batches again, it has started
crashing.. even with JVM minimum memory set at 512Mb.
Can anyone help at all? I read another thread about 'DEFAULT_PROP_IDX' but
that was about a race condition. This is occuring with a bulk import
process running on a single thread.
Thanks in advance
2007-12-14 20:40:19,203 ERROR
[org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager] -
<failed to write property state:
49989a6d-273f-4b42-9f4a-66b754038e1b/{http://www.jcp.org/jcr/1.0}data>
java.io.IOException: Cannot create a file when that file already exists
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at
org.apache.jackrabbit.core.fs.local.LocalFileSystem.getOutputStream(LocalFileSystem.java:288)
at
org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:179)
at
org.apache.jackrabbit.core.persistence.util.FileSystemBLOBStore.put(FileSystemBLOBStore.java:93)
at
org.apache.jackrabbit.core.persistence.util.Serializer.serialize(Serializer.java:200)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:462)
at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:84)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:274)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:88)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy8.updateImage(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.importImages(XYZConversionService.java:179)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:61)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
2007-12-14 20:40:19,359 ERROR
[org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager] -
<failed to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid>
ERROR 23505: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique index
identified by 'DEFAULT_PROP_IDX' defined on 'DEFAULT_PROP'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(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.execute(Unknown
Source)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.executeStmt(DatabasePersistenceManager.java:841)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:466)
at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:75)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:274)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:88)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy8.updateImage(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.importImages(XYZConversionService.java:179)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:61)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
2007-12-14 20:40:19,359 WARN
[org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager] -
<storing changes failed, about to reconnect...>
ERROR 23505: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique index
identified by 'DEFAULT_PROP_IDX' defined on 'DEFAULT_PROP'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(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.execute(Unknown
Source)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.executeStmt(DatabasePersistenceManager.java:841)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:466)
at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:75)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:274)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:88)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy8.updateImage(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.importImages(XYZConversionService.java:179)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:61)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
2007-12-14 20:40:30,765 ERROR
[org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager] -
<failed to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid>
ERROR 23505: The statement was aborted because it would have caused a
duplicate key value in a unique or primary key constraint or unique index
identified by 'DEFAULT_PROP_IDX' defined on 'DEFAULT_PROP'.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(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.execute(Unknown
Source)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.executeStmt(DatabasePersistenceManager.java:841)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:466)
at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:75)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:274)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:88)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy8.updateImage(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.importImages(XYZConversionService.java:179)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:61)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
2007-12-14 20:40:30,828 ERROR [com.xxx.xxx.service.XYZConversionService] -
<Exception stopped RM00S4E from converting>
java.lang.RuntimeException: javax.jcr.RepositoryException: /: unable to
update item.: failed to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid:
failed to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:92)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy8.updateImage(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.importImages(XYZConversionService.java:179)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:61)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
Caused by: javax.jcr.RepositoryException: /: unable to update item.: failed
to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid:
failed to write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1248)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.ImageDao.updateImage(ImageDao.java:88)
... 10 more
Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to
write property state:
565210e3-d842-4cc2-87b4-26bb54d501bc/{http://www.jcp.org/jcr/1.0}uuid
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:473)
at
org.apache.jackrabbit.core.persistence.AbstractPersistenceManager.store(AbstractPersistenceManager.java:75)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:274)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:688)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
... 12 more
Caused by: java.sql.SQLException: The statement was aborted because it would
have caused a duplicate key value in a unique or primary key constraint or
unique index identified by 'DEFAULT_PROP_IDX' defined on 'DEFAULT_PROP'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(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.execute(Unknown
Source)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.executeStmt(DatabasePersistenceManager.java:841)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.store(DatabasePersistenceManager.java:466)
... 21 more
2007-12-14 20:40:30,890 ERROR [com.xxx.xxx.service.XYZConversionService] -
<Unexpected XYZ Exception>
java.lang.RuntimeException: javax.jcr.RepositoryException: /: unable to
update item.: 73a647c9-f6ac-4153-a88b-3fd18abcc303:
73a647c9-f6ac-4153-a88b-3fd18abcc303
at com.xxx.xxx.data.JobDao.updateJob(JobDao.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:165)
at $Proxy3.updateJob(Unknown Source)
at
com.xxx.xxx.service.XYZConversionService.doBatch(XYZConversionService.java:81)
at
com.xxx.xxx.service.AbstractBatchQueueService$1.run(AbstractBatchQueueService.java:35)
at java.lang.Thread.run(Thread.java:534)
Caused by: javax.jcr.RepositoryException: /: unable to update item.:
73a647c9-f6ac-4153-a88b-3fd18abcc303: 73a647c9-f6ac-4153-a88b-3fd18abcc303
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1248)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
at com.xxx.xxx.data.JobDao.updateJob(JobDao.java:45)
... 10 more
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
73a647c9-f6ac-4153-a88b-3fd18abcc303
at
org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:332)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:1266)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:550)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:825)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:855)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:313)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:302)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:306)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1240)
... 12 more
--
View this message in context:
http://www.nabble.com/Failed-to-write-property-state---out-of-memory--tp14339800p14339800.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.