Hi All, Any pointers why bundle can't be read?
regards, Rajeev On Thu, Aug 23, 2012 at 1:57 AM, shailesh mangal < [email protected]> wrote: > 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 >
