Hello,

FYI, we are running DSpace 6.3 with Postgresql.

Here is an update:

I have not solved the configuration problem with xoai.xml, in trying for a 
virtual set based on the presence of the string 'openAccess' in the 
metadata field dc.rights.  I fiddled and tried various things with the 
file, but I always end up with this error breaking the oai page:

Type Exception Report

Message OAI 2.0 wasn't correctly initialized, please check the log for 
previous errors

Description The server encountered an unexpected condition that prevented 
it from fulfilling the request.

Exception

javax.servlet.ServletException: OAI 2.0 wasn't correctly initialized, 
please check the log for previous errors
org.dspace.xoai.controller.DSpaceOAIDataProvider.contextAction(DSpaceOAIDataProvider.java:124)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

org.dspace.xoai.services.api.config.XOAIManagerResolverException: 
com.lyncode.xoai.dataprovider.exceptions.ConfigurationException: Metadata 
FormatConfiguration referred as oaidc does not exist
org.dspace.xoai.services.impl.context.DSpaceXOAIManagerResolver.getManager(DSpaceXOAIManagerResolver.java:32)
org.dspace.xoai.controller.DSpaceOAIDataProvider.contextAction(DSpaceOAIDataProvider.java:86)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

com.lyncode.xoai.dataprovider.exceptions.ConfigurationException: Metadata 
FormatConfiguration referred as oaidc does not exist
com.lyncode.xoai.dataprovider.core.ContextManager.<init>(ContextManager.java:63)
com.lyncode.xoai.dataprovider.core.XOAIManager.<init>(XOAIManager.java:57)
org.dspace.xoai.services.impl.context.DSpaceXOAIManagerResolver.getManager(DSpaceXOAIManagerResolver.java:30)
org.dspace.xoai.controller.DSpaceOAIDataProvider.contextAction(DSpaceOAIDataProvider.java:86)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

This error message is not helpful to me, and I do not see a way to debug 
based on this.  If someone can see it, please let me know!  All I can do is 
fiddle with the xml, and I have unfortunately come to the end of my ideas 
about that.  If I revert to the original xoai.xml, the error goes away.  Of 
course the oaidc format configuration is unchanged in both versions of 
xoai.xml.

However, I had some success with the exception when updating the oai 
index.  When running 

bin/dspace oai import -co

I had first gotten an out of memory error, which I mentioned above.  I 
raised the allotment for java in the dspace script, and that eliminated the 
memory error.  It allowed the process to go further however, to the point 
at which it ran into a null pointer exception:

java.lang.NullPointerException
        at org.dspace.xoai.app.XOAI.willChangeStatus(XOAI.java:441)
        at org.dspace.xoai.app.XOAI.index(XOAI.java:368)
        at org.dspace.xoai.app.XOAI.index(XOAI.java:280)
        at org.dspace.xoai.app.XOAI.indexAll(XOAI.java:227) the
        at org.dspace.xoai.app.XOAI.index(XOAI.java:134)
        at org.dspace.xoai.app.XOAI.main(XOAI.java:560)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
        at 
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

I looked at willChangeStatus in XOAI.java, and found it was checking the 
ResourcePolicy for the current item, and it was clear from the code that 
the null pointer exception occurred when it ran policy.getGroup().  I 
checked our resourcepolicy table in the database, and found 45 instances in 
which an entry had a null for the epersongroup_id column.  I do not know 
why this error happened, but these were special cases instantiated by my 
colleague (who is on vacation at the moment, so I cannot ask her.  :-)  ).  
I added a check in the willChangeStatus method if policy.getGroup() were 
null, to print out the item uuid.  This confirmed that these items with the 
nulls in the resourcepolicy table were the culprits.  I filled these nulls 
with the Administrator group id, and was able to run the full import 
successfully.

But the unknown error(s) in xoai.xml are still causing the oai listSets 
page to crash with the error listed above.

I know it is the time of year when people are on vacation, and do not have 
time to check these pages.  But I have spent enough time on this problem, 
and I am ready to go back to my original idea, before I heard of virtual 
sets: I will create a collection Open Access and copy in the items that are 
open access.  Then I can run the oai import, and presumably all these 
items' metadata will appear in the oai page, and we will conform with the 
DINI requirement.  Uff.

Thanks for reading this to the end!  ;-)

Best regards,
Paul
On Wednesday, August 18, 2021 at 11:38:16 AM UTC+2 [email protected] wrote:

> Thanks, Michael, for the tip!  I ran a complete rebuild, and ran out of 
> memory part way through.  I increased the amount allotted to Java in the 
> dspace script (-Xmx) and it ran fine the second time.  It seemed to finish 
> with the 103000 documents in our repository, then it started over, and at 
> about 10000 hit a null pointer exception.  I don't know why it started 
> over, and would like to understand - but it seems not to have broken 
> anything.  I have a working oai system again.  This refresh did find the 
> file in my test open access collection and display the metadata in the oai 
> interface.
>
> Anyway, more importantly, to answer your question, I would prefer to make 
> the virtual set work (with all the open access documents in it) and avoid 
> the maintenance of a separate oa collection holding duplicates of other 
> collections.  However, having tried Claudia Jürgen's seemingly clear 
> instructions, I still do not have the virtual set appearing in my oai 
> list.  I have enclosed my xoai.xml - could someone take a look and tell me 
> what I have done wrong?
>
> Thanks!!
>
> Best regards,
> Paul
>
> On Tuesday, August 17, 2021 at 5:39:09 PM UTC+2 Michael Plate wrote:
>
>> Hi Paul, 
>>
>> Am 17.08.21 um 17:31 schrieb [email protected]: 
>> > Hello, 
>> > 
>> > We are applying for dini certification, and we need an OAI-set for the 
>> > open access documents.  I have attempted two things: 
>> > 
>> > 1. 
>> > I have created a collection named Open Access and put one of our open 
>> > access documents in it as a test.  This document belongs to another 
>> > collection.  After running discovery to update the solr index, the 
>> > document now appears in both places. 
>>
>> do you really want that ? Or do you want just to have any oa doc in a set 
>> ? 
>>
>> > 
>> > But in the oai inteface, the collection appears, but the document does 
>> not. 
>> […] 
>>
>> sounds like you missed updating the OAI cache: 
>>
>> [bin]/dspace oai -h 
>>
>>

-- 
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dspace-tech/4d6330f3-64a3-4cbf-bf90-8ab599fe9c79n%40googlegroups.com.

Reply via email to