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