jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From MatthiasR <matthias8...@gmx.at>
Subject [SOLVED] ItemNotFoundException after Garbage Collecting FileDataStore
Date Wed, 13 May 2009 17:08:02 GMT

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 <matthias8283@gmx.at> 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.


Mime
View raw message