We have an object that is in a corrupted state. The object is found in the
objectPaths table but not in doFields. Also its foxml won't parse, apparently
because it contains a namespace reference which is unresolved, bound to a urn.
I'll include some detail below. I'm inclined to 'fix' this problem by deleting
the specific record in the objectPaths table and deleting its foxml file in the
fedora data subdirectory. Is this a bad idea? Could there be side effects to
this that I'm not considering?
Thanks very much in advance!
- Bill
Here's a rundown of the object's mysql database profile.
This object, having pid inu:inm-ead-0001 is:
not in datastreamPaths
not in dcDates
not in doFields
not in doRegistry
but is in objectPaths:
mysql> select * from objectPaths where token like 'inu:inm-ead%';
+-----------+------------------+------------------------------------------------------------------------+
| tokenDbID | token | path
|
+-----------+------------------+------------------------------------------------------------------------+
| 437940 | inu:inm-ead-0001 |
/farchive1/fedorastorage/data/objects/2010/1014/10/37/inu_inm-ead-0001 |
+-----------+------------------+------------------------------------------------------------------------+
Searches don't find it:
fedora/search?query=pid~inu:inm-ead-0001&pid=true&maxResults=10&xml=true
<result> <resultList></resultList></result>
But references to the default dissemination return auth failure rather than not
found. I'm guessing this is because its attempting to read the object's foxml,
but it doesn't parse and so can't obtain its policy, so denies access.
fedora/get/inu:inm-ead-0001:
403 Forbidden
Authorization failed
Doing a viewItemIndex shows the root of the problem:
fedora/get/inu:inm-ead-0001/fedora-system:3/viewItemIndex
500 Internal Server Error
FOXML IO stream was bad : The prefix "ead" for element "ead:unitid" is not
bound.
fedora.server.errors.ObjectIntegrityException: FOXML IO stream was bad : The
prefix "ead" for element "ead:unitid" is not bound.
at
fedora.server.storage.translation.FOXMLDODeserializer.deserialize(FOXMLDODeserializer.java:250)
at
fedora.server.storage.translation.DOTranslatorImpl.deserialize(DOTranslatorImpl.java:76)
at
fedora.server.storage.translation.DOTranslatorModule.deserialize(DOTranslatorModule.java:127)
at fedora.server.storage.SimpleDOReader.(SimpleDOReader.java:92)
at
fedora.server.storage.DefaultDOManager.getReader(DefaultDOManager.java:659)
at
fedora.server.access.DefaultAccess.getDissemination(DefaultAccess.java:223)
at
fedora.server.access.FedoraAccessServlet.getDissemination(FedoraAccessServlet.java:730)
at
fedora.server.access.FedoraAccessServlet.doGet(FedoraAccessServlet.java:440)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
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
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
fedora.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235)
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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Here's an example of what I believe is the offending foxml
<ead:unitid xmlns:ead="urn:isbn:1-931666-22-9">autogend1e275</ead:unitid>
Thanks,
Bill Parod
Library Technology Division - Enterprise Systems
Northwestern University Library
[email protected]
847 491 5368
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users