There are really two issues I've encountered, one related to the other:

1)  Very occasionally a purge of an object is not completed.  Twice I've 
run into a case where when purging an object, its datastreams are 
deleted from the filesystem, the object's records are purged from the 
'doregistry' and 'datatstreampaths' tables in the fedora database, and 
it is removed from the resource index;  but 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, and if I reattempt the purge, Fedora 
returns with a "no such object" error.

2)  When I try to reingest the FOXML for these incompletely purged 
objects, I get an "Authorization denied" error. I include below the 
output in the fedora log.

It didn't take too long to figure out that the problem wasn't really an 
AuthNZ problem but an inconsistent state problem.  I was able to 
recover, and successfully re-ingest the purged objects, by taking the 
following actions:

1.  Shut down the fedora server.
2.  Remove the object from the filesystem.
3.  Delete the object's record in the 'objectpaths' table in the fedora 
database.
4.  Restart fedora.

I wish I consistently reproduce the problem, but so far, I haven't been 
able to.  It has occurred twice in the past few months, however, so I 
thought I should bring it to the attention of the group.

thanks,

-- Scott

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

#################################################
INFO 2009-09-09 15:27:33.580 [http-9090-10] (Cache) Authenticating user 
[XXXXXX]
INFO 2009-09-09 15:27:33.689 [http-9090-10] (DefaultDOManager) New 
object PID is uwdc:TIRIS.K.H.AS.0001a.02
INFO 2009-09-09 15:27:33.705 [http-9090-10] (DefaultManagement) 
Completed ingest(objectXML, format: info:fedora/fedora-system:FOXML-1.1, 
encoding: UTF-8, newPid: true, logMessage: Ingested from
local file /var/tmp/fco_K.H.AS.0001a.02.xml)
ERROR 2009-09-09 15:27:33.709 [http-9090-10] 
(FedoraAPIMBindingSOAPHTTPImpl) Error ingesting
fedora.server.errors.authorization.AuthzDeniedException:
         at 
fedora.server.security.PolicyEnforcementPoint.enforce(PolicyEnforcementPoint.java:435)
         at 
fedora.server.security.DefaultAuthorization.enforceIngest(DefaultAuthorization.java:799)
         at 
fedora.server.management.DefaultManagement.ingest(DefaultManagement.java:144)
         at sun.reflect.GeneratedMethodAccessor63.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.ingest(Unknown Source)
         at 
fedora.server.management.ManagementModule.ingest(ManagementModule.java:338)
         at 
fedora.server.management.FedoraAPIMBindingSOAPHTTPImpl.ingest(FedoraAPIMBindingSOAPHTTPImpl.java:89)
         at 
fedora.server.management.FedoraAPIMBindingSOAPHTTPSkeleton.ingest(FedoraAPIMBindingSOAPHTTPSkeleton.java:342)
         at sun.reflect.GeneratedMethodAccessor62.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)
         at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 

         at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 

         at java.lang.Thread.run(Thread.java:619)

------------------------------------------------------------------------------
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