Hi, Aaron --

Aaron Birkland wrote:
>> the object itself still 
>> remains on the filesystem, and there's still a record for the object in 
>> the 'objectpaths' table in the database.  Nonetheless, the purge is 
>> reported as successfully completed,
> 
> That would sound like a pretty serious error to me - the files
> themselves are supposed to be authoritative!  I'd like to try to
> reproduce this, but I have a few questions first:
> 
> - What OS, filesystem, fedora version, and java version were you using?

Solaris 10, ufs filesystem (wrapped by lofs, mounted from a SAN), Fedora 
3.2.1, Java 1.6.0_13.

> - Are there any exceptions in the logs associated with the purge event?

Yes, as a matter of fact, now that I look, there are:

INFO 2009-09-02 12:53:53.017 [http-9090-25] (Cache) Authenticating user 
[fedoraAdmin]
INFO 2009-09-02 12:53:53.198 [http-9090-25] (DefaultManagement) 
Completed purgeObject(pid: uwdc:TIRIS.K.H.AS.0001a.02, logMessage: purging)
ERROR 2009-09-02 12:53:53.199 [http-9090-25] 
(FedoraAPIMBindingSOAPHTTPImpl) Error purging object
fedora.server.errors.authorization.AuthzDeniedException:
         at 
fedora.server.security.PolicyEnforcementPoint.enforce(PolicyEnforcementPoint.java:435)
         at 
fedora.server.security.DefaultAuthorization.enforcePurgeObject(DefaultAuthorization.java:1055)
         at 
fedora.server.management.DefaultManagement.purgeObject(DefaultManagement.java:321)
         at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at 
fedora.server.messaging.NotificationInvocationHandler.invoke(NotificationInvocationHandler.java:70)
         at $Proxy0.purgeObject(Unknown Source)
         at 
fedora.server.management.ManagementModule.purgeObject(ManagementModule.java:449)
         at 
fedora.server.management.FedoraAPIMBindingSOAPHTTPImpl.purgeObject(FedoraAPIMBindingSOAPHTTPImpl.java:187)
         at 
fedora.server.management.FedoraAPIMBindingSOAPHTTPSkeleton.purgeObject(FedoraAPIMBindingSOAPHTTPSkeleton.java:366)
         at sun.reflect.GeneratedMethodAccessor170.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at 
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
         at 
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
         at 
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
         at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at 
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
         at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:234)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:234)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:234)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:234)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:234)
         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
         at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at 
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
         at 
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
         at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
         at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

> - Was there anything notable about the work load when these occurred?
> That is to say, were the purges part of a large parallel batch process
> with many reads and writes, or were they merely ad-hoc and random?

This purge occurred as part of a batch purging process, in which some 
30,000 objects were being sequentially purged.  All the other objects 
were purged successfully.

The first purge that provoked the error (which occurred a few months 
ago) was a one-off, however.

thanks,

-- Scott

-- 
Scott Prater
Library, Instructional, and Research Applications (LIRA)
Division of Information Technology (DoIT)
University of Wisconsin - Madison
[email protected]

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fedora-commons-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to