From: GeoNetwork o. D. w. <tra...@os...> - 2009-10-15 05:22:30
|
#160: CSW server sometimes gives ConcurrentModificationException -----------------------+---------------------------------------------------- Reporter: simonp | Owner: geo...@li... Type: defect | Status: new Priority: critical | Milestone: v2.4.1 Component: General | Version: v2.5.0 Resolution: | Keywords: -----------------------+---------------------------------------------------- Comment (by simonp): Or to put it more clearly: I've tested it and it doesn't happen when hsListeners in DbmsPool.java is synchronized. But more analysis is required. Simon Pigot wrote: > > Had a brief look at this in 2.4.1 using a couple of sessions that send > > requests via curl. > > > > Saw the following exception: > > > > 2009-10-14 14:19:23,058 DEBUG [jeeves.service] - Raised exception while > > executing service > > <error id="error"> > > <message /> > > <class>ConcurrentModificationException</class> > > <stack> > > <at class="java.util.HashMap$HashIterator" file="HashMap.java" > > line="793" method="nextEntry" /> > > <at class="java.util.HashMap$KeyIterator" file="HashMap.java" > > line="828" method="next" /> > > <at class="jeeves.resources.dbms.DbmsPool" file="DbmsPool.java" > > line="173" method="close" /> > > <at class="jeeves.server.resources.ResourceManager" > > file="ResourceManager.java" line="117" method="release" /> > > <at class="jeeves.server.resources.ResourceManager" > > file="ResourceManager.java" line="83" method="close" /> > > <at class="jeeves.server.dispatchers.ServiceInfo" > > file="ServiceInfo.java" line="245" method="execService" /> > > <at class="jeeves.server.dispatchers.ServiceInfo" > > file="ServiceInfo.java" line="141" method="execServices" /> > > <at class="jeeves.server.dispatchers.ServiceManager" > > file="ServiceManager.java" line="377" method="dispatch" /> > > <at class="jeeves.server.JeevesEngine" file="JeevesEngine.java" > > line="621" method="dispatch" /> > > <at class="jeeves.server.sources.http.JeevesServlet" > > file="JeevesServlet.java" line="174" method="execute" /> > > </stack> > > <request> > > > > Is this what you are seeing James? > > > > Seems it can be fixed by making hsListeners into a Synchronized set in > > DbmsPool.java - but this is a bit of shallow analysis because curiously > > it doesn't seem to happen in an earlier version of the BlueNetMEST > > (jetty 5 vs jetty 6 maybe?) which we've backported the CSW 2.0.2 > > implementation into. > > > > Cheers, > > Simon -- Ticket URL: <http://trac.osgeo.org/geonetwork/ticket/160#comment:1> GeoNetwork opensource Developer website <http://trac.osgeo.org/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. |