Hi Thomas, sorry for wasting your time.... The Bug was actually a feature. ;-)
It had nothing to do with garbage collection. With Bugfix JCR-2036 when creating a new node permissions are also checked now for properties. Since the properties don't exist yet the exception is thrown. Thanks for your help anyways and sorry again... Matthias Thomas Müller-2 wrote: > > Hi, > > That's strange, because the exception is 'item not found'. Items > (nodes, properties) are not stored in the data store. Items are stored > in the persistence manager. Running the data store garbage collection > doesn't delete anything in the persistence manager, it only deletes > unreferenced binaries in the data store. > > Could you try if you get the same exception if you comment out the > call to gc.deleteUnused() ? > > Regards, > Thomas > > > > On Tue, May 12, 2009 at 8:01 PM, MatthiasR <[email protected]> wrote: >> >> Hi, >> >> thanks for your reply. >> >> 1. I inserted the "consistencyCheck" and "consistencyFix" parameters in >> my >> repository config xml file and restartet my application. But the problem >> still persists. >> >> 2. I also regenerated the search index, but also no change. >> >> 3. I could reproduce the bug with another repository: --> update to >> Jackrabbit 1.5.5 --> execute Garbage collecting --> Error >> >> 4. Here's the stack trace: >> >> ERROR [http-8082-Processor25] smc.jcr.jackrabbit.security.AccessManager - >> javax.jcr.ItemNotFoundException: 2957af4b-4024-434c-ad40-8eeccf78dd9e >> (line >> 138) >> javax.jcr.ItemNotFoundException: 2957af4b-4024-434c-ad40-8eeccf78dd9e >> at >> org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:284) >> at >> org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:228) >> at >> org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:493) >> at >> org.apache.jackrabbit.core.SessionImpl.getNodeById(SessionImpl.java:519) >> at >> smc.jcr.jackrabbit.security.SecurityManager.getPermissionList(SecurityManager.java:263) >> at >> smc.jcr.jackrabbit.security.SecurityManager.isGranted(SecurityManager.java:392) >> at >> smc.jcr.jackrabbit.security.AccessManager.isGranted(AccessManager.java:134) >> at >> org.apache.jackrabbit.core.ItemImpl.validateTransientItems(ItemImpl.java:398) >> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1058) >> at >> org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:858) >> at smc.jcr.AbstractJCRData.createFolder(AbstractJCRData.java:1171) >> at smc.broker.xmlapi.XMLAPI.CreateFolder(XMLAPI.java:510) >> 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:585) >> at >> smc.broker.servlet.PropertyReader.processXMLAPIMethod(PropertyReader.java:256) >> at >> smc.broker.servlet.PropertyReader.service(PropertyReader.java:152) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378) >> at >> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) >> at >> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) >> at >> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) >> at >> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) >> at >> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) >> at >> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) >> at >> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) >> at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) >> at >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) >> at >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) >> at >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) >> at >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) >> at java.lang.Thread.run(Thread.java:595) >> >> 5. And at last the code I'm using to execute garbage collection: >> >> GarbageCollector gc; >> SessionImpl si = (SessionImpl)session; >> gc = si.createDataStoreGarbageCollector(); >> >> // optional (if you want to implement a progress bar / output): >> gc.scan(); >> gc.stopScan(); >> >> // delete old data >> gc.deleteUnused(); >> >> Regards, >> Matthias >> >> >> Thomas Müller-2 wrote: >>> >>> Hi, >>> >>> Usually if there is a problem with the data store, the exception is >>> different. >>> >>> Could you post the complete stack trace please? >>> >>> Maybe the search index is out of sync with the repository. You could >>> delete the search index and restart (in that case the index is >>> re-built). >>> >>> If this doesn't help: The persistence managers support running a >>> consistency check and fix. See: >>> http://jackrabbit.apache.org/api/1.5/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.html >>> >>> >>> >>> >>> Regards, >>> Thomas >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/ItemNotFoundException-after-Garbage-Collecting-FileDataStore-tp23501738p23507308.html >> Sent from the Jackrabbit - Users mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/ItemNotFoundException-after-Garbage-Collecting-FileDataStore-tp23501738p23526061.html Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
