jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shailesh mangal <shailesh.man...@getzephyr.com>
Subject java.sql.SQLException: Failed to parse bundle
Date Wed, 22 Aug 2012 20:27:22 GMT
Hi,

We have a large repository containing lots of uploaded files (about 20 GB and 33K files).
We recently started noticing following statements in logs


2012-08-21 10:59:56,285 ERROR [pool-2-thread-30] BundleDbPersistenceManager.loadBundle(1033)
| failed to read bundle: aa00a98b-ab04-40f0-b7c4-05f1af033f9c: java.sql.SQLException: Failed
to parse bundle aa00a98b-ab04-40f0-b7c4-05f1af033f9c
2012-08-21 11:14:19,107 ERROR [pool-2-thread-21] BundleDbPersistenceManager.loadBundle(1033)
| failed to read bundle: 4146fc44-52c6-45a0-9b6a-6b6778bd85da: java.sql.SQLException: Failed
to parse bundle 4146fc44-52c6-45a0-9b6a-6b6778bd85da

With higher log level, Following stack trace is printed. I enabled consistency check, but
that also doesn't run because code fails to load the node. I can retrive the main node fine
but when I try to access "jcr:content", error is thrown. We have a large number of nodes sitting
in this state.
1. Is this state repairable. 
2. All these nodes were versioned, is it possible to retrieve the file content from versioned
node?

JackRabbit Version:2.2.4
Persistance Manager:org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager 
(we also tried with org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager)
It precisely fails at 
BundleDbPersistenceManager.DbBlobStore(1311)
rs = conHelper.exec(blobSelectSQL, new Object[]{blobId}, false, 0);
                if (!rs.next()) {
                   throw new Exception("no such BLOB: " + blobId);
                }

ERROR 22-08 09:31:52,909 - Unable to parse bundle 0001be06-f6b5-40ca-be5e-0e88d8c327a3
java.sql.SQLException: Failed to parse bundle 0001be06-f6b5-40ca-be5e-0e88d8c327a3
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:1064)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.checkConsistency(BundleDbPersistenceManager.java:805)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:546)
at org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager.init(MySqlPersistenceManager.java:51)
at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:124)
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:2015)
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1998)
at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:533)
at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:342)
at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605)
at org.apache.jackrabbit.core.TransientRepository$1.getRepository(TransientRepository.java:180)
at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:280)
at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:376)
at org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)
at com.thed.util.RepositoryPlugin.getSession(RepositoryPlugin.java:78)
at com.thed.util.RepositoryPlugin.makeObject(RepositoryPlugin.java:100)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1147)
at com.thed.repository.JcrSessionInterceptor.invoke(JcrSessionInterceptor.java:21)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy14.getCurrentRepositoryObject(Unknown Source)
at com.thed.installer.jdbc.impl.AttachmentMigrationManagerImpl.copyAttachment(AttachmentMigrationManagerImpl.java:192)
at com.thed.installer.jdbc.impl.AttachmentMigrationManagerImpl.access$0(AttachmentMigrationManagerImpl.java:185)
at com.thed.installer.jdbc.impl.AttachmentMigrationManagerImpl$1.call(AttachmentMigrationManagerImpl.java:260)
at com.thed.installer.jdbc.impl.AttachmentMigrationManagerImpl$1.call(AttachmentMigrationManagerImpl.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.io.IOException: Unable to create property value: java.lang.Exception: no such
BLOB: 0001be06-f6b5-40ca-be5e-0e88d8c327a3.1570322.1.0
at org.apache.jackrabbit.core.persistence.util.BundleReader.readPropertyEntry(BundleReader.java:358)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundleNew(BundleReader.java:183)
at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle(BundleReader.java:140)
at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundle(BundleBinding.java:152)
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.readBundle(BundleDbPersistenceManager.java:1059)
... 30 more

-shailesh

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message