The more I think about this, the more I am convinced that the problem is confusion at your end. The fact that the searching problem clears up after 3 minutes is pretty much proof that the cache is being cleared appropriately. The issue is how to get it cleared out more quickly.
I think the root problem is the resultSetTTL parameter in your request. Through it, you are explicitly asking the server to keep the result set for 300 seconds. No matter what you set the default value to, your explicit request will override that. You need to omit that parameter for the default to take effect. Better yet, you should explicitly specify a resultSetTTL=0 to let the server know you do not want any caching of results. Let me know if this helps. Ralph > -----Original Message----- > From: LeVan,Ralph > Sent: Tuesday, March 22, 2011 11:42 AM > To: 'Kocisky'; [email protected] > Subject: RE: [Dspace-tech] SRW Dspace 1.7 Cannot get a connection > pool(resultSetTTL) > > Kocisky, does that search actually return records when it doesn't return the 404 > response? > > The root problem is that the search opens a connection to the DSpace database > and SRU caches that connection for the life of the search result. Typically, > those result sets are cleared from the cache after a configurable period of > idleness. That configuration happen through the specification of a default value > in the database configuration file, but can be overridden in the request through > the resultSetTTL parameter (which I note you still have set to 300 seconds in the > request you have shared.) > > I have spotted a path in my code where the result set would not be freed if no > records had be found as the result of the query. > > So, does that search for creator=smith actually find documents? > > Ralph > > > -----Original Message----- > > From: Kocisky [mailto:[email protected]] > > Sent: Monday, March 21, 2011 4:04 PM > > To: [email protected] > > Subject: [Dspace-tech] SRW Dspace 1.7 Cannot get a connection > > pool(resultSetTTL) > > > > Hi all, > > > > I've been trying the SRW module > > (http://code.google.com/p/oclcsrwdspacelucene/) with dspace 1.7 and > > i've being facing a problem when I repetitively make the same query: > > > > > http://10.0.102.1:8080/SRW/search/?query=dc.creator+%3D+%22smith%22&ve > > > rsion=1.1&operation=searchRetrieve&recordSchema=info%3Asrw%2Fschema > > %2F1%2Fdc- > > > v1.1&maximumRecords=10&startRecord=1&resultSetTTL=300&recordPacking= > > xml&recordXPath=&sortKeys= > > > > i will get: > > > > 404: Document not found (No searchRetrieveResponse) > > OCLC SRW/SRU Server > > > > after 3 minutes or so it will restart working. With some extra > > debugging (thanks to Ralph): > > > > ORG.oclc.os.SRW.HouseKeeping=DEBUG > > ORG.oclc.os.SRW.DSpaceLucene.LuceneQueryResult=DEBUG > > > > log4j.logger.ORG.oclc.os.SRW.HouseKeeping=DEBUG > > log4j.logger.ORG.oclc.os.SRW.DSpaceLucene.LuceneQueryResult=DEBUG > > > > i will get the following exception in dspace.cfg: > > > > 2011-03-10 16:15:33,978 DEBUG ORG.oclc.os.SRW.SRWServlet @ exit > > processMethodRequest > > 2011-03-10 16:15:33,978 DEBUG ORG.oclc.os.SRW.SRWServlet @ Exit: > > doGet() > > 2011-03-10 16:15:34,318 ERROR > > ORG.oclc.os.SRW.DSpaceLucene.SRWLuceneDatabase @ > > java.lang.InstantiationException: Cannot get a connection, pool error > > Timeout waiting for idle object > > java.lang.InstantiationException: Cannot get a connection, pool error > > Timeout waiting for idle object > > at > > > ORG.oclc.os.SRW.DSpaceLucene.LuceneQueryResult.<init>(LuceneQueryRes > > ult.java:113) > > at > > > ORG.oclc.os.SRW.DSpaceLucene.SRWLuceneDatabase.getQueryResult(SRW > > LuceneDatabase.java:209) > > at ORG.oclc.os.SRW.SRWDatabase.doRequest(SRWDatabase.java:598) > > at > > > gov.loc.www.zing.srw.srw_bindings.SRWSoapBindingImpl.searchRetrieveOpera > > tion(SRWSoapBindingImpl.java:138) > > at > > > gov.loc.www.zing.srw.srw_bindings.SRWSoapBindingSkeleton.searchRetrieveO > > peration(SRWSoapBindingSkeleton.java:68) > > at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor I > > mpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java :3 > > 97) > > at > > > org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.ja v > > a:186) > > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323 ) > > > > i've been suggested to try with resultSetTTL=0 in the URL and the > > configuration, but i didn't see any improvements, does anybody > > faced/resolved the same issue? > > thanks > > > > Kocisky > > > > ------------------------------------------------------------------------ ------ > > Colocation vs. Managed Hosting > > A question and answer guide to determining the best fit > > for your organization - today and in the future. > > http://p.sf.net/sfu/internap-sfd2d > > _______________________________________________ > > DSpace-tech mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

