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)