Hi Bill, Your approach to fixing the problem sounds fine. If it's nowhere else in the db, removing it from the one table it's in and off disk will repair the inconsistency.
It's hard to say how it got in that state to begin with. But the xml validation exception seems odd, given the chunk of xml you posted -- Fedora shouldn't care what the URI of the namespace is -- only that it's bound to a well-formed URI, which it looks like it is. Perhaps there are other bits of XML in the object where the "ead" QName isn't bound to a namespace? If it doesn't look like that's the case, can you submit a bug report and a attach the whole foxml so it can be reproduced? Thanks, Chris On Thu, Oct 14, 2010 at 1:26 PM, Bill Parod <bill-pa...@northwestern.edu> wrote: > 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 > bill-pa...@northwestern.edu > 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 > Fedora-commons-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fedora-commons-users > > ------------------------------------------------------------------------------ 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 Fedora-commons-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fedora-commons-users