Hi,

I recently made ~1100 objects in my fedora repository visible to the 
oaiprovider webapp by adding an itemID to these objects RELS-EXT.  I 
successfully tested this with 2 objects individually.  But after making the 
batch change, the oaiprovider failed with a java.lang.OutOfMemoryError.

The route cause of the OutOfMemoryError is a fedora risearch, particularly the 
query:


select $item $itemID $date $state

from <#ri>

where $item <http://www.openarchives.org/OAI/2.0/itemID> $itemID

and $item <info:fedora/fedora-system:def/model#state> $state

and $item <info:fedora/fedora-system:def/view#disseminates> $diss

and $diss <info:fedora/fedora-system:def/view#disseminationType> 
<info:fedora/*/DC>

and $item <info:fedora/fedora-system:def/view#lastModifiedDate> $date

and $date <http://mulgara.org/mulgara#after> 
'2010-05-12T19:37:55.289Z'^^<http://www.w3.org/2001/XMLSchema#dateTime> in 
<#xsd>

and $date <http://mulgara.org/mulgara#before> 
'2010-05-13T13:07:04.746Z'^^<http://www.w3.org/2001/XMLSchema#dateTime> in 
<#xsd>



But if I run the same search without the mulgara before and after conditions it 
works fine:



select $item $itemID $date $state

from <#ri>

where $item <http://www.openarchives.org/OAI/2.0/itemID> $itemID

and $item <info:fedora/fedora-system:def/model#state> $state

and $item <info:fedora/fedora-system:def/view#disseminates> $diss

and $diss <info:fedora/fedora-system:def/view#disseminationType> 
<info:fedora/*/DC>

and $item <info:fedora/fedora-system:def/view#lastModifiedDate> $date



I was able to workaround this by refreshing the database, clearing the /cache 
/sessions /schemas directories, and restarting the oaiprovider.  But I'm 
concerned this issue will return again as I make available ~4000 more objects 
for harvesting, and don't wan't to have to keep clean slating the harvester 
every time new objects are added.



One thing I tried was the mySQLResultTrickling parameter, but I think that is 
related to mysql, not the triplestore:

proai.db.mySQLResultTrickling = true



Is this a known bug?  Does anyone have any insight, solution to this problem?



Below is the outOfMemory stack trace:



DEBUG 2010-05-12 17:05:24.693 [Thread-7324] (FedoraClient) FedoraClient is 
getting 
http://localhost:8083/fedora/risearch?query=select+%24item+%24itemID+%24date+%24state%0Afrom+++%3C%23ri%3E%0Awhere++%2

4item+++++++++++%3Chttp%3A%2F%2Fwww.openarchives.org%2FOAI%2F2.0%2FitemID%3E+%24itemID%0Aand++++%24item+++++%3Cinfo%3Afedora%2Ffedora-system%3Adef%2Fmodel%23state%3E+%24state%0Aand+%24item+%3Cinfo%3Afe

dora%2Ffedora-system%3Adef%2Fview%23disseminates%3E+%24diss%0Aand+%24diss+%3Cinfo%3Afedora%2Ffedora-system%3Adef%2Fview%23disseminationType%3E+%3Cinfo%3Afedora%2F*%2FDC%3E%0Aand++++%24item+++++%3Cinfo%

3Afedora%2Ffedora-system%3Adef%2Fview%23lastModifiedDate%3E+%24date%0Aand++++%24date+++++++++++%3Chttp%3A%2F%2Fmulgara.org%2Fmulgara%23after%3E+%272010-05-12T19%3A37%3A55.289Z%27%5E%5E%3Chttp%3A%2F%2Fw

ww.w3.org%2F2001%2FXMLSchema%23dateTime%3E+in+%3C%23xsd%3E%0Aand++++%24date+++++++++++%3Chttp%3A%2F%2Fmulgara.org%2Fmulgara%23before%3E+%272010-05-12T21%3A05%3A24.481Z%27%5E%5E%3Chttp%3A%2F%2Fwww.w3.or

g%2F2001%2FXMLSchema%23dateTime%3E+in+%3C%23xsd%3E%0Aorder++by+%24itemID+asc&format=Sparql&type=tuples&lang=itql

mmap failed for CEN and END part of zip file

ERROR 2010-05-12 17:05:29.403 [http-8083-Processor23] ([RISearchServlet]) 
Servlet.service() for servlet RISearchServlet threw exception

java.lang.OutOfMemoryError

at java.util.zip.ZipFile.open(Native Method)

at java.util.zip.ZipFile.<init>(ZipFile.java:114)

at java.util.jar.JarFile.<init>(JarFile.java:133)

at java.util.jar.JarFile.<init>(JarFile.java:97)

at 
org.apache.catalina.loader.WebappClassLoader.openJARs(WebappClassLoader.java:1766)

at 
org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:1996)

at 
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1796)

at 
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:875)

at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1330)

at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

at org.mulgara.resolver.DatabaseSession.execute(DatabaseSession.java:755)

at org.mulgara.resolver.DatabaseSession.query(DatabaseSession.java:465)

at org.trippi.impl.mulgara.MulgaraSession.query(MulgaraSession.java:129)

at 
org.trippi.impl.base.ConcurrentTriplestoreReader.findTuples(ConcurrentTriplestoreReader.java:79)

at 
fedora.server.resourceIndex.ResourceIndexImpl.findTuples(ResourceIndexImpl.java:279)

at 
fedora.server.resourceIndex.ResourceIndexModule.findTuples(ResourceIndexModule.java:296)

at org.trippi.server.TrippiServer.find(TrippiServer.java:119)

at org.trippi.server.http.TrippiServlet.doFind(TrippiServlet.java:512)

at org.trippi.server.http.TrippiServlet.doGet(TrippiServlet.java:377)

at fedora.server.access.RISearchServlet.doGet(RISearchServlet.java:103)

at org.trippi.server.http.TrippiServlet.doGet(TrippiServlet.java:269)

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:234)

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:234)

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:234)

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)





Thanks,

Eric





------------------------------------------------------------------------------

_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to