#1073: CatalogSearcher closes index readers while they are still in use.
---------------------+------------------------------------------------------
Reporter: jeichar | Owner: geonetwork-devel@…
Type: defect | Status: new
Priority: major | Milestone: v2.9.0
Component: General | Version: v2.8.0RC0
Keywords: |
---------------------+------------------------------------------------------
I set up a jmeter test suite to stress test Geonetwork a little and I have
found some severe issues with the CSW support. I will try to explain the
issue:
User 1 makes CSW request
Catalog Searcher (using LuceneSearcher) begins processing request
User 2 makes CSW a different request
Catalog Searcher closes Index reader for last request and opens new reader
LuceneSearcher explodes because its index reader has been closed.
I think it is pretty clear what the problem is here but the solution is
not as simple we cannot leave requests open.
I propose making CatalogSearcher not cache index reader but instead open
each time it is needed.
CatalogSearcher will be stored on the UserSession so that the user is able
to select metadata using the searcher.
This simplifies the reader handling and reduces chances of resource leaks
in the CatalogSearcher.
See the patch at:
https://github.com/jesseeichar/core-
geonetwork/compare/master...bug;csw_getrecords_parallelism
--
Ticket URL: <http://trac.osgeo.org/geonetwork/ticket/1073>
GeoNetwork opensource Developer website <http://sourceforge.net/projects/geonetwork/>
GeoNetwork opensource is a standards based, Free and Open Source catalog application to manage spatially referenced resources through the web. It provides powerful metadata editing and search functions as well as an embedded interactive web map viewer. This website contains information related to the development of the software.