You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Francois Talleu (Jira)" <ji...@apache.org> on 2021/11/19 05:56:00 UTC
[jira] [Updated] (JCR-4742) Standalone backup no space left on device
[ https://issues.apache.org/jira/browse/JCR-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francois Talleu updated JCR-4742:
---------------------------------
Description:
When using jackrabbit standalone with --backup mode for backup-ing a large repository (850meg) it fail after one hour with the following exception (see below)
the problem is that after a while, the utility in TransientFileFactory that is supposed to delete the temp files once the respective objects are reclaimed by the garbade collector; is not working properly and the tmp folder is running out of space (4gig temps folder)
I have created a patch to get around the problem but I am not sure the solution is correct as I don't know much of jackrabbit source code.
another workaround is to specify a larger tmp folder but the time to create the backup in increased significantly
Exception in thread "main" javax.jcr.RepositoryException: Failed to copy content
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:210)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:150)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:112)
at org.apache.jackrabbit.standalone.Main.backup(Main.java:248)
at org.apache.jackrabbit.standalone.Main.run(Main.java:172)
at org.apache.jackrabbit.standalone.Main.main(Main.java:59)
Caused by: javax.jcr.RepositoryException: Unable to copy 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:116)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.RepositoryCopier.copyWorkspaces(RepositoryCopier.java:276)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:208)
... 5 more
Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): 3d7e0354-60a2-4988-a82e-c6eaf96a9728: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:902)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:766)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:750)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:490)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:107)
... 12 more
Caused by: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:932)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:889)
... 16 more
Caused by: org.apache.commons.io.IOExceptionWithCause: Unable to create property value: javax.jcr.RepositoryException: Error creating temporary file
at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:365)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundleOld(BundleReader.java:249)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle(BundleReader.java:149)
at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundle(BundleBinding.java:152)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:927)
... 17 more
Caused by: javax.jcr.RepositoryException: Error creating temporary file
at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:64)
at org.apache.jackrabbit.core.value.BLOBInTempFile.getInstance(BLOBInTempFile.java:99)
at org.apache.jackrabbit.core.value.InternalValue.getBLOBFileValue(InternalValue.java:625)
at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:379)
at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:388)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:355)
... 21 more
Caused by: java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1310)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:978)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1282)
at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:62)
... 26 more
was:
When using jackrabbit standalone with --backup mode for backup-ing a large repository (850meg) it fail after one hour with the following exception (see below)
the problem is that after a while, the utility in TransientFileFactory that is supposed to delete the temp files once the respective object are reclaimed by the garbade collector; is not working properly and the tmp folder is running out of space (4gig temps folder)
I have created a patch to get around the problem but I am not sure the solution is correct as I don't know much of jackrabbit source code.
another workaround is to specify a larger tmp file but the time to create the backup in increased significantly
Exception in thread "main" javax.jcr.RepositoryException: Failed to copy content
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:210)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:150)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:112)
at org.apache.jackrabbit.standalone.Main.backup(Main.java:248)
at org.apache.jackrabbit.standalone.Main.run(Main.java:172)
at org.apache.jackrabbit.standalone.Main.main(Main.java:59)
Caused by: javax.jcr.RepositoryException: Unable to copy 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:116)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
at org.apache.jackrabbit.core.RepositoryCopier.copyWorkspaces(RepositoryCopier.java:276)
at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:208)
... 5 more
Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): 3d7e0354-60a2-4988-a82e-c6eaf96a9728: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:902)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:766)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:750)
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:490)
at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:107)
... 12 more
Caused by: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:932)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:889)
... 16 more
Caused by: org.apache.commons.io.IOExceptionWithCause: Unable to create property value: javax.jcr.RepositoryException: Error creating temporary file
at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:365)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundleOld(BundleReader.java:249)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle(BundleReader.java:149)
at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundle(BundleBinding.java:152)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:927)
... 17 more
Caused by: javax.jcr.RepositoryException: Error creating temporary file
at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:64)
at org.apache.jackrabbit.core.value.BLOBInTempFile.getInstance(BLOBInTempFile.java:99)
at org.apache.jackrabbit.core.value.InternalValue.getBLOBFileValue(InternalValue.java:625)
at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:379)
at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:388)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:355)
... 21 more
Caused by: java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1310)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:978)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1282)
at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:62)
... 26 more
> Standalone backup no space left on device
> -----------------------------------------
>
> Key: JCR-4742
> URL: https://issues.apache.org/jira/browse/JCR-4742
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-standalone
> Reporter: Francois Talleu
> Priority: Major
> Attachments: no space left on device.patch
>
>
> When using jackrabbit standalone with --backup mode for backup-ing a large repository (850meg) it fail after one hour with the following exception (see below)
> the problem is that after a while, the utility in TransientFileFactory that is supposed to delete the temp files once the respective objects are reclaimed by the garbade collector; is not working properly and the tmp folder is running out of space (4gig temps folder)
> I have created a patch to get around the problem but I am not sure the solution is correct as I don't know much of jackrabbit source code.
> another workaround is to specify a larger tmp folder but the time to create the backup in increased significantly
>
> Exception in thread "main" javax.jcr.RepositoryException: Failed to copy content
> at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:210)
> at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:150)
> at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:112)
> at org.apache.jackrabbit.standalone.Main.backup(Main.java:248)
> at org.apache.jackrabbit.standalone.Main.run(Main.java:172)
> at org.apache.jackrabbit.standalone.Main.main(Main.java:59)
> Caused by: javax.jcr.RepositoryException: Unable to copy 3d7e0354-60a2-4988-a82e-c6eaf96a9728
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:116)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:110)
> at org.apache.jackrabbit.core.RepositoryCopier.copyWorkspaces(RepositoryCopier.java:276)
> at org.apache.jackrabbit.core.RepositoryCopier.copy(RepositoryCopier.java:208)
> ... 5 more
> Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): 3d7e0354-60a2-4988-a82e-c6eaf96a9728: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
> at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:902)
> at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:766)
> at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:750)
> at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:490)
> at org.apache.jackrabbit.core.persistence.PersistenceCopier.copy(PersistenceCopier.java:107)
> ... 12 more
> Caused by: java.sql.SQLException: Failed to parse bundle 3d7e0354-60a2-4988-a82e-c6eaf96a9728
> at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:932)
> at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:889)
> ... 16 more
> Caused by: org.apache.commons.io.IOExceptionWithCause: Unable to create property value: javax.jcr.RepositoryException: Error creating temporary file
> at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:365)
> at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundleOld(BundleReader.java:249)
> at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle(BundleReader.java:149)
> at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundle(BundleBinding.java:152)
> at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:927)
> ... 17 more
> Caused by: javax.jcr.RepositoryException: Error creating temporary file
> at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:64)
> at org.apache.jackrabbit.core.value.BLOBInTempFile.getInstance(BLOBInTempFile.java:99)
> at org.apache.jackrabbit.core.value.InternalValue.getBLOBFileValue(InternalValue.java:625)
> at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:379)
> at org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:388)
> at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:355)
> ... 21 more
> Caused by: java.io.IOException: No space left on device
> at java.io.FileOutputStream.writeBytes(Native Method)
> at java.io.FileOutputStream.write(FileOutputStream.java:326)
> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1310)
> at org.apache.commons.io.IOUtils.copy(IOUtils.java:978)
> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1282)
> at org.apache.jackrabbit.core.value.BLOBInTempFile.<init>(BLOBInTempFile.java:62)
> ... 26 more
--
This message was sent by Atlassian Jira
(v8.20.1#820001)